から取得する画像ファイルサイズを縮小したいUIImagePickerController
。私はこの方法を使用します
NSData * imageData = UIImageJPEGRepresentation(image、0.1);
しかし、2.2MBの画像ファイルサイズを300KBに減らします。画像ファイルサイズを100KB未満にしたいと思います。
から取得する画像ファイルサイズを縮小したいUIImagePickerController
。私はこの方法を使用します
NSData * imageData = UIImageJPEGRepresentation(image、0.1);
しかし、2.2MBの画像ファイルサイズを300KBに減らします。画像ファイルサイズを100KB未満にしたいと思います。
Appleのドキュメントの状態:
結果のJPEG画像の品質。0.0から1.0までの値で表されます。値0.0は最大圧縮(または最低品質)を表し、値1.0は最小圧縮(または最高品質)を表します。
また、圧縮品質はCGFloatであるため、10桁を超える小数点以下の桁数をサポートします。そうは言っても、試してみてください。
NSData *imageData = UIImageJPEGRepresentation(image, 0.032);
画像サイズをキロ単位で縮小する最も簡単な方法は、サイズをピクセル単位で縮小することです。小さくスケーリングします。
CGFloat scaleSize = 0.2f;
UIImage *smallImage = [UIImage imageWithCGImage:image.CGImage
scale:scaleSize
orientation:image.imageOrientation];
まず、以下の方法で画像のサイズを変更します。
- (UIImage *)resizeImage:(UIImage*)image newSize:(CGSize)newSize {
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
これを呼び出す:
UIImage *newImage=yourImage;
CGSize size=CGSizeMake(newImage.size.width/8,newImage.size.height/8);
newImage=[self resizeImage:newImage newSize:size];
そして最後に、必要に応じて画像を圧縮します。
NSData *imageData = UIImageJPEGRepresentation(newImage, 0.5);
NSLog(@"Size of image = %lu KB",(imageData.length/1024));