1:
- (NSData *)imageData {
ALAssetRepresentation *assetRep = [self.asset defaultRepresentation];
NSUInteger size = [assetRep size];
uint8_t *buff = malloc(size);
NSError *err = nil;
NSUInteger gotByteCount = [assetRep getBytes:buff fromOffset:0 length:size error:&err];
if (gotByteCount) {
if (err) {
NSLog(@"!!! Error reading asset: %@", [err localizedDescription]);
[err release];
free(buff);
return nil;
}
}
return [NSData dataWithBytesNoCopy:buff length:size freeWhenDone:YES];
}
2:当然我们还可以使用
UIImagePNGRepresentation(UIImage *image)。
UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality)。