Shi*_*tty 1 compression iphone image uiimageview nsdata
我希望在将图像存储为NSData
对象之前压缩图像.
下面是代码,它可以帮助我获取NSData
Image的对象.
NSURL *referenceURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library1 = [[ALAssetsLibrary alloc] init];
[library1 assetForURL:referenceURL resultBlock:^(ALAsset *asset)
{
int byteArraySize = asset.defaultRepresentation.size;
NSMutableData* rawData = [[NSMutableData alloc]initWithCapacity:byteArraySize];
void* bufferPointer = [rawData mutableBytes];
NSError* error=nil;
[asset.defaultRepresentation getBytes:bufferPointer fromOffset:0 length:byteArraySize error:&error];
if (error) {
NSLog(@"%@",error);
}
rawData = [NSMutableData dataWithBytes:bufferPointer length:byteArraySize];
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
UIImagePickerController确实返回一个压缩图像,但你也可以使用这个内置的UIKit函数和PNG的相关函数来控制格式和压缩:
NSData* UIImageJPEGRepresentation(UIImage *image, CGFloat compressionQuality);
Run Code Online (Sandbox Code Playgroud)
如果referenceURL返回字符串,则可能需要创建NSURL.
NSImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL: referenceURL]];
NSData *compressedImage = UIImageJPEGRepresentation(image, .1); //.1 is low quality
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2239 次 |
最近记录: |