2013-05-07 2 views
0

이미지가있는이 UIImageview가 있습니다. 이것은 작은 이미지로,이미지 CGAffineTransformMakeScale을 사용할 때 이미지 크기 조정

resizableImageWithCapInsets 

메서드로 바둑판 식으로 배열되어 있습니다. 화면 크기에 독립적 인 이미지를 처리하는 것은 매우 유용하며 잘 작동합니다. UIImageview의 프레임 크기를 프로그래밍 방식으로 변경하면 내부 이미지가 늘어나지 않고 반복되므로 픽셀이 픽셀로 유지됩니다. 이제

, 내가있는 UIImageView에

self.myImageView.transform=CGAffineTransformMakeScale(5.0, 5.0); 

이 /가 포함 해당 이미지를 표시 할, 나는 이미지가 지금 실제로 늘어 것을 알 수 있습니다.

이미지를보기로 다시로드하려고 시도했지만 도움이되지 않습니다.

UIImageView는 "채우기 위해 채우기"모드입니다.

짧은 질문은 다음과 같습니다. 어떻게 이미지가 늘어나지 않았는지 확인하고 변환 후에 바둑판 식으로 배열합니까?

업데이트 : CGAffineTransformMakeScale을 사용하는 이유는 중심을 기준으로 이미지 (보기)를 확대/축소하려고하기 때문입니다.

답변

0

변환 직접보기에 적용하는 대신 CGRectApplyAffineTransform을 사용하고 이미지보기 프레임을 변환하십시오. 이것은 가능한 모든 변환에 대해서는 잘 작동하지 않지만 번역 및 스케일에 제한됩니다.

+0

잘 작동하지만, CGAffineTransformMakeScale을 처음 사용했던 이유는 중심에서 스케일링을하는 것이 었습니다. 뷰의 중심을 유지하면서 이미지를 확대/축소하는 것이 었습니다. 나는 원래의 질문을 편집 할 것이다. – Sjakelien

+0

그런 경우 가장 좋은 옵션은 단순히 CGRectInset을 사용하는 것일 수 있습니다. – Wain

+0

훌륭해, 고마워! – Sjakelien