2017-01-04 2 views
0

私はUIImageViewを私の目的のCアプリケーションに持っています。この上に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); 
に初期化していました
関連する問題