13.3MBイメージを取り込み、XCodeに追加しました。私はコンパイル時に、XCodeがファイルサイズを小さくするためのいくつかのトリックを実行することを認識しています。私はイメージが今データに変換された後、いかに大きなテストするために、これをしなかった:不正確なNSDataサイズはバイト単位で指定されています
UIImage *image = [UIImage imageNamed:@"image.jpg"];
NSData *data = UIImageJPEGRepresentation(image, 1.0);
NSLog(@"length: %i", data.length);
私が得た長さが戻って26758066
ました。それがバイトであれば、それは26.7MBと私に読まれます。イメージはどのように突然大きくなっていますか?最初にUIImageを通過することなく、データ形式で画像を取得する別の方法はありますか?
EDIT:さらにテストは、これが機能することを明らかにし、〜13.3メガバイトのデータ長を引き出す - 予想額:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"image" ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSLog(@"length: %i", data.length);
イメージのNSDataを使用する特別な理由はありますか? –
あなたの質問に答えた場合は、答えを作成して正しいものとしてマークしてください。 –
@ NathanWhite 1.テストアプリケーションでメモリ使用量をテストできるようにNSDataが必要です。 2.最初の質問はまだ残っています - UIImageJPEGRepresentationが最初のサイズの2倍の画像を返すのはなぜですか? – Andrew