2015-04-19 8 views

Antwort

16

Sie können tatsächlich eine einzige Zeile es

guard let image = UIImage(named: "someImage") else { return } // BAIL 
let data = UIImageJPEGRepresentation(image, 1.0) 
zu tun verwenden

Die Zahl von 0,0 bis 1,0 und Sätze reichen sollte die JPEG-Qualität

--- update ---

noch gültig ab Swift 3.1

+0

Bezieht sich 'unpackedImage' auf' image'? Oder gibt es einen weiteren Prozess, der zwischen dem Erstellen von "image" und dem Erstellen von "data" implementiert werden muss? – Danoram

+0

Entschuldigung dafür, 'UIImage()' Initialisierer gibt normalerweise eine optionale zurück, offensichtlich muss es ausgepackt werden, da die 'UIImageJPEGRepresentation' Methode nur unverpackte Objekte akzeptiert – Benzy

5

Sie können UIImage-NSData konvertieren und an diese Methode übergeben

func getArrayOfBytesFromImage(imageData:NSData) -> NSMutableArray 
{ 

    // the number of elements: 
    let count = imageData.length/sizeof(UInt8) 

    // create array of appropriate length: 
    var bytes = [UInt8](count: count, repeatedValue: 0) 

    // copy bytes into array 
    imageData.getBytes(&bytes, length:count * sizeof(UInt8)) 

    var byteArray:NSMutableArray = NSMutableArray() 

    for (var i = 0; i < count; i++) { 
     byteArray.addObject(NSNumber(unsignedChar: bytes[i])) 
    } 

    return byteArray 


} 
+0

Wie kann ich rückwärts ... wie kann ich Bild aus Bytes bekommen –

Verwandte Themen