2 developerwab developerWab 于 2013.01.22 14:48 提问

iphone中剪裁图片之后会旋转

在开发的应用程序中有一个功能是剪裁UIImage,但是我实现剪裁之后,最后的图片方向就会改变,图片旋转。这个问题是怎么回事?下面是我的剪裁代码:

CGRect visibleRect;
float scale = 1.0f/scrollView.zoomScale;
visibleRect.origin.x = scrollView.contentOffset.x * scale;
visibleRect.origin.y = scrollView.contentOffset.y * scale;
visibleRect.size.width = scrollView.bounds.size.width * scale;
visibleRect.size.height = scrollView.bounds.size.height * scale;
finalImage = imageFromView(displayImageView.image, &visibleRect);

UIImage* imageFromView(UIImage* srcImage, CGRect* rect) {
    CGImageRef cr = CGImageCreateWithImageInRect(srcImage.CGImage, *rect);
    UIImage* cropped = [UIImage imageWithCGImage:cr];

    CGImageRelease(cr);
    return cropped;
}

请帮我指出错误在哪里,O(∩_∩)O谢谢。

1个回答

langyufei
langyufei   2013.01.23 08:12
已采纳

坐标系不同.
UIView是已左上角为0,0坐标.
CG开头的函数是使用正常的坐标系,也就是左下角为0,0的.
我就不给你改代码了,你要么重新设计剪裁时0,0坐标的统一.
要么你就操作完毕后将图片颠倒一下,类似下面的方法.

imageView.transform = CGAffineTransformMakeRotation(M_PI);
developerWab
developerWab 好的,谢谢你
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片