2013-05-07 3 views
0

아이폰에서 사진을 찍을 때 이미지는 전체 화면에 상단에 "회색 막대"없이 표시됩니다. 즉, 이미지는 프레임에 표시됩니다. 320 * 500 크기 . 내 이미지를 내 앱에 표시하고 싶지만 앱의 최대 크기는 320 * 480입니다. 따라서 앱에서 전체 화면으로 이미지를 표시하려고하면 이미지가 늘어납니다. 모든 contentMode 옵션을 시도했지만 작동하지 않았습니다. 그래서 이미지의 크기를 조절하거나 프레임의 크기를 수정하여 이미지가 그대로 표시되지만 아이폰의 "사진"앱과 같이 왜곡이나 작은 프레임없이 작은 프레임에 어떻게 표시합니까?왜곡없이 전체 화면을 표시하려면 UIImage를 적절하게 조정하십시오.

답변

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; 
관련 문제