2

次のリンクで行われているように、アスペクト比で画像のサイズを変更しようとしています

カメラから引き出された UIimage のサイズを変更すると、UIimage も回転しますか?

https://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more

これはシミュレーターで正常に動作します。しかし、私の iPhone-4 では、写真の右側に黒いブロックが表示されます。(写真の4分の1は黒です)。これは、imageOrientation の権利を持つ写真でのみ発生します...これまでのところ。ImageOrientation up は問題ありません。

どういうわけか、CGBitmapContextCreate が問題を引き起こしているような気がします。CGImageGetBytesPerRow は、読んだとおりに機能しないため、既に削除しました。現時点では、次のコードがあります。

if (sourceImage.imageOrientation == UIImageOrientationUp || sourceImage.imageOrientation == UIImageOrientationDown) {
bitmap = CGBitmapContextCreate(NULL, targetWidth, targetHeight, 8, 4*targetWidth, colorSpaceInfo, bitmapInfo);
} else {
bitmap = CGBitmapContextCreate(NULL, targetHeight, targetWidth, 8, 4*targetHeight, colorSpaceInfo, bitmapInfo);
}

これらの問題はどのような場合に発生する可能性がありますか?

4

1 に答える 1

2

このサイトのカテゴリ ファイルを使用して、UIImage のサイズを変更します。

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

于 2011-06-27T21:27:06.000 に答える