2017-01-04 4 views
0

나는 내 객관적인 C 응용 프로그램에 UIImageView 있습니다. 이 UIImageView에 사진을로드 한 다음 카메라에서 가져옵니다. UIImage 자르기 지역을 적용합니다. 이 영역은 CAShapeLayer의 직사각형입니다. 하지만 제 문제는 프레임을 직사각형에 포함 시키면 직사각형이 같은 위치가 아니라는 것입니다 ... 잘못된 지역과 자르기를 얻고 있습니다. 내가 추가 한 작물 내 레이어의 프레임이있는 경우,UIImage를 자르기 위해 올바른 영역을 얻는 방법은 무엇입니까?

CAShapeLayer *_outline = [CAShapeLayer new]; 
UIImageView *vistaImagen; 
... 
UIGraphicsBeginImageContextWithOptions(_vistaImagen.frame.size, NO, 0.0); 
CGContextRef context = UIGraphicsGetCurrentContext(); 

CGContextAddPath(context, _boundingBox.accessibilityPath.CGPath); 

CGContextClip(context); 
[_vistaImagen.layer renderInContext:context]; 
UIImage *iii = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

문제가 될 수 무엇 :

나는이 코드를 사용 _boundingBox.accessibilityPath.CGPath을 ??

감사합니다.

답변

0

글쎄, 몇 시간을 보낸 후, 나는 문제를 발견했다. 나는 내가 실제 규모있는 UIImage에서 이미지를 얻고 있기 때문에 1로 규모를 사용할 필요가 ... 나쁜 규모로 UIGraphicsBeginImageContextWithOptions를 작성했다,하지만 난 규모는 0

UIImageView *vistaImagen; 
UIGraphicsBeginImageContextWithOptions(_vistaImagen.frame.size, NO, 1.0); 
으로 초기화했다
관련 문제