【发布时间】:2013-09-13 08:42:41
【问题描述】:
我有一个大小为全屏的UIImageView *userImage 和一个大小为320x320 的UIImageView *imageSquare。用户将能够使用userImage 将其变大、改变位置等。imageSquare 是静态的,应该被视为裁剪视图
下面的代码可以将userImage 裁剪为imageSquare.frame.size。我的问题是它从userImage 的顶部而不是从imageSquare.frame.origin 进行裁剪,这意味着我需要从X 和Y 坐标裁剪它。这是我第一次尝试这样做,到目前为止我尝试过的每件事都无法从imageSquare.frame.origin 中裁剪出来。
如何从imageSquare.frame.origin 裁剪userImage 的当前视图(用户正在操作的视图)?
CGSize pageSize = imageSquare.frame.size;
UIGraphicsBeginImageContext(pageSize);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(resizedContext, userImage.frame.origin.x, userImage.frame.origin.y);
[userImage.layer renderInContext:resizedContext];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
if (image != nil) {
NSLog(@"is not nil");
NSData *imgData = UIImagePNGRepresentation(image);
imageSquare.image = [[UIImage alloc]initWithData:imgData];
}
【问题讨论】:
标签: ios objective-c cocoa-touch uiimageview uiimage