Преобразование UIImage в массив байтов в быстром

Как преобразовать UIimage в массив байтов, чтобы я мог загрузить его в свой веб-сервис?

2 ответа

Фактически вы можете использовать одну строку

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

Число должно быть в диапазоне от 0.0 до 1.0 и устанавливает качество jpeg

--- update ---

все еще действует с Swift 3.1


Вы можете преобразовать UIImage в NSData и передать его этому методу

func getArrayOfBytesFromImage(imageData:NSData) -> NSMutableArray
{
 // the number of elements:
 let count = imageData.length / sizeof(*****)
 // create array of appropriate length:
 var bytes = [*****](count: count, repeatedValue: 0)
 // copy bytes into array
 imageData.getBytes(&bytes, length:count * sizeof(*****))
 var byteArray:NSMutableArray = NSMutableArray()
 for (var i = 0; i < count; i++) {
 byteArray.addObject(NSNumber(unsignedChar: bytes[i]))
 }
 return byteArray
}

licensed under cc by-sa 3.0 with attribution.