Ich versuche, ein UIImage
to zu speichern NSData
und dann das NSData
Back to a new UIImage
in Swift zu lesen . Um das UIImage
in zu konvertieren , verwende NSData
ich den folgenden Code:
let imageData: NSData = UIImagePNGRepresentation(myImage)
Wie konvertiere ich imageData
(dh NSData
) zurück in eine neue UIImage
?
let imagePt = UIImage(data: caminhodaImagem)
genugVerwenden Sie die
imageWithData:
Methode, die in Swift als übersetzt wirdUIImage(data:)
quelle
Jetzt können Sie in Swift 4.2 die
pngData()
neue Instanzmethode verwendenUIImage
, um die Daten aus dem Image abzurufenquelle
Einzelheiten
Lösung 1
Lösung 2.1
Verwendung der Lösung 2.1
Lösung 2.2
Verwendung der Lösung 2.2
Die Bilddarstellung beansprucht viele CPU- und Speicherressourcen. In diesem Fall ist es also besser, mehrere Regeln zu befolgen:
- Führen Sie jpegData (compressQuality :) nicht in der Hauptwarteschlange aus
- Führen Sie nur eine jpegData (compressQuality :) gleichzeitig aus
Falsch:
Richtig:
Links
quelle
So speichern Sie als Daten:
Wenn Sie in StoryBoard "Bild" -Daten in der Bildansicht von MainStoryBoard speichern möchten, funktionieren die folgenden Codes.
So laden Sie "image" in imageView: Sehen Sie sich das Ausrufezeichen "!", "?" genau, ob das ganz das gleiche ist wie dieses.
Der Typ "NSData" wird während dieses Vorgangs automatisch in den Typ "Daten" konvertiert.
quelle
Verwenden Sie für die sichere Ausführung von Code
if-let
block withData
, um einen Absturz der App zu verhindern, da die FunktionUIImagePNGRepresentation
einen optionalen Wert zurückgibt.Generische Bildoperationen (wie png & jpg beide):
Mit der Erweiterung:
quelle
Bild zu Daten: -
Daten zum Bild: -
quelle
Swift 5
Lassen Sie das Bild, das Sie als UIImage erstellen, ein Bild sein
quelle