Làm cách nào để chuyển đổi một số UIImage
thành NSData
hoặc CFDataRef
? Tôi cần phải chuyển số CFDataRef
đến ABPersonSetImageData
.Làm cách nào để chuyển đổi UIImage sang NSData hoặc CFDataRef?
7
A
Trả lời
17
Điều này đã hiệu quả đối với tôi, đối với hình ảnh PNG. Đối với các loại hình ảnh khác, tôi giả sử bạn chỉ cần tìm UIImage tương ứng ... Phương thức đại diện.
UIImage *image = [UIImage imageNamed:@"imageName.png"];
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];
Nếu bạn cần CFDataRef cho UIImage, đó chỉ là một dòng nữa.
CFDataRef imgDataRef = (CFDataRef)imageData;
6
bạn có thể sử dụng
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
và chỉ cần đúc imageData này để CFDataRef
CFDataRef = (CFDataRef) imageData;
+0
NSData * imageData = UIImageJPEGĐại diện (hình ảnh, 1.0); phương pháp png rất chậm cũng tương đương. Có cách nào nhanh không ??????? – user2128531
1
CFDataRef cfdata = CFDataCreate(NULL, [imageData bytes], [imageData length]);
Đối với một ví dụ làm việc nhấp here.
Cảm ơn bạn.
Tại sao bạn sử dụng '+ [dữ liệu NSDataWithData:]'? –
Touché. Tôi cho rằng bạn chỉ có thể làm 'NSData * imageData = UIImagePNGRepresentation (hình ảnh);' –