1

我无法从图像视图中裁剪图像,该图像在裁剪前已缩放和旋转。使用现有的裁剪方法。但它仅适用于固定的图像视图。希望代码会有所帮助。

4

3 回答 3

2

最后成功裁剪旋转缩放图像。

1)需要裁剪整个缩放或旋转的图像。

2)从裁剪图像中裁剪矩形。您将获得最终缩放或旋转的裁剪图像。

我发布示例代码,它可能对其他人有帮助。

UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();


CGRect rect = CGRectMake(100,100 ,200, 200);//Rect we need from scaled or rotated image.
CGImageRef cropped = CGImageCreateWithImageInRect(viewImage.CGImage, rect);
UIImage *img =  [UIImage imageWithCGImage:cropped]; 
CGImageRelease(cropped);

谢谢。

于 2011-05-20T04:39:55.217 回答
0

试试这个(如果你需要裁剪角落):

UIImageView *imageSubview = [[UIImageView alloc] initWithFrame:CGRectMake(50.0f, 5.0f,80.0f, 60.0f)];

[imageSubview setImage:actualImage]; 
[imageSubview setContentMode:UIViewContentModeScaleToFill];
[imageSubview.layer setCornerRadius:10.0];
[imageSubview.layer setMasksToBounds:YES];
[cell addSubview:imageSubview];

只需增加半径,你就会让它变成圆形,或者走在这条路上你会得到你的实际解决方案。:)

于 2011-05-17T10:33:24.600 回答
0
UIImage *myImage = [UIImage imageNamed:@"photo.png"];

CGRect cropRect = CGRectMake(0.0, 0.0, 320.0, 44.0));
CGImageRef croppedImage = CGImageCreateWithImageInRect([myImage CGImage], cropRect);

UIImageView *myImageView = [[UIImageView alloc] initWithFrame:cropRect];
[myImageView setImage:[UIImage imageWithCGImage:croppedImage]]; 

CGImageRelease(croppedImage);

它用于裁剪特定的高度和宽度

于 2011-05-17T10:55:02.830 回答