0
UIImage *image = [UIImage imageNamed:@"anyImage.png"];

NSData *data = UIImageJPEGRepresentation(image, 0.032);

UIImage *newImage = [UIImage imageWithData:data];

この画像のサイズ縮小を見つけましたが、私の問題は、100kbの画像のみを保存する必要があることです。私のライブラリには、この方法で最大141258kbに減少する8159064kbの画像があります。画像のサイズを100kbに​​変換する方法を教えてください。前もって感謝します

4

1 に答える 1

2

image.size大きな画像を100kに縮小できるように、サイズを変更する必要があります

UIImageあなたはカテゴリーを作ることができます

お気に入りUIImage(Resize)

+(UIImage*)imageWithImage:(UIImage*)image andWidth:(CGFloat)width andHeight:(CGFloat)height
{
    UIGraphicsBeginImageContext( CGSizeMake(width, height));
    [image drawInRect:CGRectMake(0,0,width,height)];
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();

    return newImage;
}

次に、whileループを作成して、100KB未満に収まるように画像サイズのサイズを変更します

NSData *data = UIImagePNGRepresentation(_yourImage);
while (data.length / 1000 >= 100) {
    _yourImage = [UIImage imageWithImage:_yourImage andWidth:image.size.width/2 andHeight:image.size.height/2];
    data = UIImagePNGRepresentation(_yourImage);
}

// _yourImage is now reduce the size which is <= 100KB
于 2013-03-19T12:33:02.723 に答える