7

から取得する画像ファイルサイズを縮小したいUIImagePickerController。私はこの方法を使用します

NSData * imageData = UIImageJPEGRepresentation(image、0.1);

しかし、2.2MBの画像ファイルサイズを300KBに減らします。画像ファイルサイズを100KB未満にしたいと思います。

4

3 に答える 3

8

Appleのドキュメントの状態:

結果のJPEG画像の品質。0.0から1.0までの値で表されます。値0.0は最大圧縮(または最低品質)を表し、値1.0は最小圧縮(または最高品質)を表します。

また、圧縮品質はCGFloatであるため、10桁を超える小数点以下の桁数をサポートします。そうは言っても、試してみてください。

NSData *imageData = UIImageJPEGRepresentation(image, 0.032);
于 2012-12-29T19:21:41.080 に答える
2

画像サイズをキロ単位で縮小する最も簡単な方法は、サイズをピクセル単位で縮小することです。小さくスケーリングします。

CGFloat scaleSize = 0.2f;
UIImage *smallImage = [UIImage imageWithCGImage:image.CGImage
                      scale:scaleSize
                      orientation:image.imageOrientation];
于 2012-12-30T00:25:49.467 に答える
1

まず、以下の方法で画像のサイズを変更します。

- (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));
于 2015-10-15T06:20:19.277 に答える