[英]Rotate and Crop UIImage
想象一下,我有一個UIImage。 我需要旋轉然后在全局坐標系(而不是UIImage坐標系)中裁剪它。 因此,生成的圖像將被裁剪和旋轉。
我怎樣才能做到這一點? CGImageCreateWithImageInRect將僅在圖像相對坐標中裁剪圖像。
PS在評論中回答。 你應該使用CIImage。
也許這可以幫助
//init
CIImage *image = [CIImage imageWithCGImage:CGImageRef];
//rotation
CIImage *rotatedImage = [image imageByApplyingTransform:someTransform];
//crop
CIImage *croppedImage = [rotatedImage imageByCroppingToRect:someRect];
輪換時,您需要申請
CGAffineTransform transform = CGAffineTransformTranslate(self.imageView.transform,deltaX,deltaY);
transform = CGAffineTransformRotate(transform, recognizer.rotation);
transform = CGAffineTransformTranslate(transform, -deltaX, -deltaY);
self.imageView.transform = transform;
對於裁剪,只需更改imageView的框架即可
要轉換本地坐標圖像,只需使用:
// converts a point in local coordinate space to window coordinates.
[self.imageView convertPoint:localPosition toView:nil];
// use this method to calculate a view's origin in window space like this:
[self.imageView convertPoint:self.imageView.frame.origin toView:nil];
如果您打算將圖像編輯器集成到您的應用程序中,您可能希望考慮使用第三方,例如: https : //github.com/heitorfr/ios-image-editor
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.