我可以通过坐标像(10,10,320,312)裁剪图像吗?
目标:如何在缩放后裁剪图像。 (10,10,320,312)缩放后,我可以裁剪图像吗? 我的UIImageView有这个大小?
我在UIScrollView
有一个UIImageView
,我可以放大我的图像。 我想缩放后,当我按下cropButton
在UIImage
显示的图像被裁剪。 我想要图像的大小等于UIImageView
大小。
谢谢 !!
放大之前
缩放和裁剪后
我的代码在这里。
-(void)cropButtonClicked { //Calculate the required area from the scrollview CGRect visibleRect; float scale = 1.0f/scroll.zoomScale; visibleRect.origin.x = scroll.contentOffset.x * scale; visibleRect.origin.y = scroll.contentOffset.y * scale; visibleRect.size.width = scroll.bounds.size.width * scale; visibleRect.size.height = scroll.bounds.size.height * scale; UIImage *image = [self imageByCropping:imageView.image toRect:visibleRect]; imageView.image=image; } - (UIImage*)imageByCropping:(UIImage *)myImage toRect:(CGRect)cropToArea{ CGImageRef cropImageRef = CGImageCreateWithImageInRect(myImage.CGImage, cropToArea); UIImage* cropped = [UIImage imageWithCGImage:cropImageRef]; CGImageRelease(cropImageRef); return cropped; } I use this logic.. Am I RIGHT? (May be i have to check my ScrollView programming)
可能这个代码使用完整的你..!
CGSize itemSize = CGSizeMake(newWidth, newHeight);<br> UIGraphicsBeginImageContextWithOptions(itemSize, NO, 0);<br> CGRect imageRect = CGRectMake(0, 0, newWidth, newHeight);<br> [image drawInRect:imageRect];<br> UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();<br> UIGraphicsEndImageContext();