3

我编写代码来裁剪图像,但我得到的是图像的另一部分,而不是给定的矩形。

CGImageRef cr = CGImageCreateWithImageInRect([imageCrop.image CGImage], rectangle.frame);
    imageCrop.frame=rectangle.frame;
    imageCrop.image = [[[UIImage alloc] initWithCGImage:cr] autorelease];
    CGImageRelease(cr);
4

2 回答 2

0

如果您收到图像的另一部分,可能是因为您提供的imageOrientation财产价值。UIImage在裁剪之前考虑图像方向。

图像方向会影响图像数据在绘制时的显示方式。默认情况下,图像以“向上”方向显示。但是,如果图像具有关联的元数据(例如 EXIF 信息),则此属性包含该元数据指示的方向。有关此属性的可能值列表,请参阅UIImageOrientation

于 2012-05-30T10:47:15.157 回答
0
 //  Try using following line of code-

    CGImageRef cr = CGImageCreateWithImageInRect([imageCrop.image CGImage], rectangle.frame);
    imageCrop.image =[UIImage imageWithCGImage:croppedCGImage scale:1.0f orientation:self.imageOrientation];
     CGImageRelease(cr);
于 2012-05-30T14:28:42.127 回答