2

8MBまでの画像をアップロードしたいです。そのため、テストのために、フォト ギャラリーにサイズ 4.2 MB (寸法: 3264 X 2443) の画像を追加しました。しかし、アップロードする画像を選択するときに、画像のサイズを確認しました。しかし、9840076 バイト、つまり 9.3842 MB を返します。これは実際には 4.2 MB です。そのため、サイズが 4.2 MB の画像はアップロードできません。

以下の方法を使用して画像のサイズを計算しましたが、これは 9840076 バイトを返しています。

[UIImageJPEGRepresentation(imageRerurnedFromPhotoGallery , 1.0) length];

画像のサイズを計算する際に何か間違っていますか? 適切な方法を教えてください。前もって感謝します!

4

2 に答える 2

0

画像をデコードしてから再エンコードしているため、ファイル サイズが異なる場合があります。画像をまったく変更する必要がない場合は、 を使用ALAssetsLibraryして、画像をNSDataUIImage オブジェクトではなくオブジェクトとして取得します。次に、NSDatalengthプロパティを見ると、ファイル サイズが正確に一致します。サンプル コードについては、「ALAssetsLibrary の使用」および「ALAsset が Image を NSData として取り出す」を参照してください。

于 2013-06-03T14:20:37.913 に答える
0

なぜあなたはこのようにしようとしないのですか?

サイズをバイト単位で取得します

NSData *data = [[NSData alloc] initWithData:UIImageJPEGRepresentation((Your Image), 0.5)];

int imageSize = data.length;
NSLog(@"size of image is: %i ", imageSize);
于 2013-06-03T13:35:35.377 に答える