0

当我们在 iphone 上拍照时,图像以全屏显示,顶部没有任何“灰条”,即图像以 320*500 大小的框架显示。我想在我的应用程序中显示该图像,但该应用程序的最大帧大小为 320*480 。因此,当我尝试在我的应用程序中将图像显示为全屏时,它会显示为拉伸图像。我尝试了所有contentMode选项,但没有奏效。那么,如何缩放图像或如何固定帧的大小,以便图像按原样显示,但在较小的帧中没有任何扭曲或类似 iphone 的“照片”应用程序中的东西?

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 回答