簡體   English   中英

旋轉和裁剪UIImage

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM