2013-02-13 3 views
0

나는 함수로 인해 UIImage를가집니다. 그것은 다음과 같습니다.UIImage를 평행 사변형으로 왜곡합니다.

image1.image = [self reflectedImage:img]; 

여기서 image1은 UIImage 컨트롤입니다. 그것을 image1에 연결하기 전에, 나는 그것을 오른쪽으로 더 왜곡시키고 싶습니다. 그래서 나는 단지 점 c와 d를 재배치하고자합니다.

enter image description here

나는 여기 저기 수십 기사를 읽었습니다. 내가 할 수 있을지 모르겠다. CGAffineTransformMake. This web page은 내가 할 수 있다고 제안합니다. 불행히도, 어떻게 동작 하는지를 볼 수있는 샘플 프로젝트가 없습니다. 불행히도, 나는 단순한 사각형 이미지를 평행 사변형으로 왜곡시키는 방법을 보여주는 하나의 웹 사이트를 찾지 못했습니다. 그래서 그것을하는 가장 쉬운 방법은 무엇입니까? 내가 사용할 수 있도록 레이어를 만들어야합니까 CATransform3D?

도움 주셔서 감사합니다.

답변

0

당신이해야 할 일은 당신의 UIImageView에게 약간의 관점을 제공하는 것입니다. 기본적으로 레이어 변환에는 원근감이 없기 때문에 다음과 같이 설정해야합니다. transform.m34 = 1.0/-2000;

보기의 anchorpoint도 변경하여보기의 위쪽 가장자리를 따라 회전합니다. 너에게 그것은 (0,0.5)이된다. 뷰 깊이 (그 순수하지 3D 애니메이션, 그 의사 3D로서의라고도 2.5D)를 가지고있는 것처럼

enter image description here

원근은 그런 평행 사변형 모양을 제공합니다. 앵커 포인트가 가장자리를 따라 회전하도록하고 앵커 포인트에 각도를 부여하도록 앵커 포인트를 설정합니다. 얼마나 많이 회전합니까?

// Rotate by 30 degrees 
CGAffineTransform rotationTransform = CGAffineTransformIdentity; 
rotationTransform = CGAffineTransformRotate(rotationTransform, DegreesToRadians(30)); 
swingView.transform = rotationTransform; 

이 모든 당신이 원하는 당신을 줄 것이다 ...