0

iPhone で写真を撮ると、上部に「灰色のバー」が表示されずに画像がフルスクリーンで表示されます。つまり、画像は 320*500 サイズのフレームで表示されます。その画像をアプリに表示したいのですが、アプリの最大フレームサイズは 320*480 です。したがって、アプリでフルスクリーンとして画像を表示しようとすると、引き伸ばされた画像として表示されます。すべてのオプションを試しcontentModeましたが、うまくいきませんでした。それで、画像を拡大縮小する方法やフレームのサイズを修正して、画像がそのまま表示されるようにする方法はありますか?

4

1 に答える 1

1

写真を撮るとき、実際にはフルサイズの写真が表示されるのではなく、代わりにディスプレイに適合する部分のみが表示されます (写真の解像度は iPhone のディスプレイ解像度よりも大きい)。したがって、結果の画像を取得してフルスクリーンで表示したい場合は、画像をスケーリングするためにいくつかの簡単な計算を行い、その比率を正しく保つ必要があります。

// We know the desired resolution. It's full screen (320, 480) or (640, 960).
// Now we want to determine the destination imageView frame with maximum dimensions
// for it to fit the screen AND leave the image's proportions
float minScale = MIN(screenResolution.width/actualImgWidth, screenResolution.height/actualImgHeight);
// With minScale one side will fit full screen, and the other will occupy a bit smaller space than the screen allows
destImgView.bounds = CGRectMake(0, 0, minScale*actualImgWidth, minScale*actualImgHeight);
destImgView.image = actualImg;
于 2013-05-07T07:43:52.040 に答える