2011-06-10 2 views
0

iDevice 카메라를 사용하는 iOS 앱에서 작업하여 이미지를 잡고 원격 서버에 업로드합니다. 사용자가 카메라를 사용하여 그림을 잡고, 기본 카메라 컨트롤을 사용하여 이미지의 특정 부분을 선택하여 사용하는 시나리오가 있습니다. 또한 사용자는 특정 부분을 선택하지 않고도 전체 이미지를 사용할 수 있습니다.이미지 크기 조정 iPhone SDK

  • 아이폰 /의 iTouch 2G, 3G, 3GS
  • 아이폰 /의 iTouch 4

있을 것 카메라 이미지 :

이제 일이 majorly 장치의 두 가지 유형이 있다는 것입니다 해상도 차이도 있습니다.

문제는 두 장치 유형 모두에 올바르게 표시 할 수있는 이미지를 갖기 위해 필요한 크기의 해상도를 두 배로 늘리거나 두 가지 모두에서 작동 할 수있는 공통 크기를 가질 수 있다는 것입니다. 일반적인 크기가있을 수 있다면, 그것은 무엇입니까?

답변

0

나는 명확하게 질문을 이해 잘 모르겠지만, 당신은 당신의 이미지를 표시하려는 경우, 당신은 같은 코드를 사용할 수 있습니다

UIImage* myImage = [UIImage imageNamed:@"my_image.png"]; 
UIImageView *myImageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
myImageView.image = myImage; 
[self.view addSubView:myImageView]; 

이 당신의 이미지를 전체 화면이 표시됩니다. iOS 4에서이 코드를 실행하면 iPhone 4 해상도에 자동으로 적용됩니다.

0

두 장치 모두에서 어떤 크기의 이미지라도 '효과적'입니다. 실제로 중요한 부분은 성능과 효율성입니다. 예를 들어, 이러한 이미지를 스크롤 테이블보기에 표시하는 경우 비 망막 장치를 다운로드하여 거대한 축소 이미지를 그리지 않거나 테이블보기가 많이 혼란 스러울 수 있습니다.

필요한 가장 높은 해상도를 업로드하는 것이 가장 좋을 수 있으며 원격 서버는 요청한 장치의 필요에 따라 동적으로 제공 할 수있는 축소 이미지를 생성해야합니다. 두 장치 모두에 공통 이미지 크기를 사용하는 것보다 낫습니다. 불필요하게 응용 프로그램을 느리게 처리하거나 픽셀 화 된 이미지를 표시하기 때문입니다.

예 : 사용자가 200x200 이미지를 캡처한다고 가정 해 보겠습니다. 다운로드 한 이미지를 50x50 이미지보기로 표시하려고합니다. 원격 서버가 망막 디스플레이에 대해 100 픽셀 이미지를 제공하고 비 망막 디스플레이에 대해 50 픽셀 이미지를 제공해야합니다. 각 장치는 장치 해상도에 맞는 크기의 이미지를 요청해야합니다. 이미지보기는 크기 조정을 처리 할 수 ​​있으며 각각 부드럽게 보이고 다운로드 속도와 앱 성능이 최적화되어야합니다.

더 많은 대역폭을 절약하려면 위에서 설명한 시나리오에서 제출하기 전에 이미지 크기를 100x100으로 줄일 수 있습니다. 여기에 대한 유용한 팁 :

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