0

私のiPadアプリでは、ユーザーが複数の写真を撮り、すべての画像を圧縮してサーバーにアップロードできるようにしています。私が直面している問題は、サイズの大きい画像が原因で、zip ファイルのサイズが大きくなり、アップロード中に失敗します。画像をクリックした直後に低品質の画像を保存するにはどうすればよいですか。

4

2 に答える 2

1

画像はpng形式でキャプチャされます。JPG形式に変換します。これにより、画像のサイズをある程度小さくすることができます。

または、何らかの要因で画像を圧縮します

これがコードです

//コード

if(imagesize>[MAX_SIZE_IMAGE intValue]){

   while (imagesize>[MAX_SIZE_IMAGE intValue]){

        NSData *data=UIImageJPEGRepresentation(Image, 0.1f);

        imagesize=[data length];
    }
}

jpgImage =[UIImage imageWithData:data];

return jpgImage;

ここで、MAX_SIZE_IMageをある値に設定してから、画像が最大画像サイズよりも小さくなるまで、画像を0.1倍に圧縮します。

于 2012-06-14T06:19:43.590 に答える
0

画像のサイズを変更する関数:

  -(UIImage *)resizeImage:(UIImage *)image width:(float)imgwidth height:(float)imgheight
  {
   CGSize imgSize; 
   imgSize.width= imgwidth;
   imgSize.height= imgheight;
   UIGraphicsBeginImageContext(imgSize);
   [image drawInRect:CGRectMake(0,0,imgSize.width,imgSize.height)];
   UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();
   return newImage;
  }

選択したすべての画像を配列に保存できます。zip を作成する前に、イメージを自分のサイズにリサイズします。

  for(int i = 0; [array count]; i++)
  {
    // call resize function here
    //Again store all resized image in another array Now u have all images in low quality for zip
  }
于 2012-06-14T06:15:06.387 に答える