2015-04-19 23 views

Trả lời

16

Bạn thực sự có thể sử dụng một dòng duy nhất để làm điều đó

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

Số nên nằm trong khoảng 0,0-1,0 và bộ chất lượng jpeg

--- update ---

vẫn hợp lệ kể từ Swift 3.1

+0

'unpackedImage' có liên quan đến' hình ảnh' không? Hay có một quá trình khác cần được thực hiện giữa việc tạo 'hình ảnh' và tạo' dữ liệu'? – Danoram

+0

Xin lỗi vì điều đó, 'UIImage()' initialiser thường trả về một tùy chọn, rõ ràng là nó phải được unwrapped vì phương thức 'UIImageJPEGRepresentation' chỉ chấp nhận các đối tượng chưa được mở – Benzy

5

Bạn có thể chuyển đổi UIImage-NSData và vượt qua nó để phương pháp này

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

làm cách nào tôi có thể thực hiện ngược ... làm cách nào tôi có thể lấy hình ảnh từ byte –

Các vấn đề liên quan