图像裁剪给出错误的图像部分

时间:2012-05-30 10:38:33

标签: iphone ios uiimageview uiimage core-animation

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

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

2 个答案:

答案 0 :(得分:0)

如果您要接收图片的其他部分,可能是因为您提供的imageOrientation UIImage属性值。在裁剪之前考虑图像方向。

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

答案 1 :(得分: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);