CGImageCreateWithImageInRect截图问题

来源:互联网 发布:java技术手册 编辑:程序博客网 时间:2024/05/01 01:55

转载自 :  http://blog.csdn.net/sinyran/article/details/21706857


在拍照获取到image之后想直接剪切处理下。使用了下面的剪裁方法:

[objc] view plaincopy在CODE上查看代码片派生到我的代码片
  1. - (UIImage *)clipImage:(UIImage *)image imageoritation:(UIImageOrientation)oritation withRect:(CGRect)rect  
  2. {  
  3.     CGImageRef imageRef = CGImageCreateWithImageInRect([image CGImage], rect);  
  4.     UIImage *clipImage = [UIImage imageWithCGImage:imageRef scale:image.scale orientation:oritation];//UIImageOrientationLeft  
  5.     CGImageRelease(imageRef);  
  6.     return clipImage;  
  7. }  

图片方向不对的可以通过设置UIImageOrientation来修改。

这里要记录的主要是传进去的rect参数的y值没有起作用的。但是同事用imagename加载本地图片的剪裁的确实完美剪裁的。。

求救大神,給找了个解决的。贴地址:点击打开链接。如果拍照是 portranit mode的方式的设置rect的x/y值的需要translates to (y, -x)。因为我只要修改y值的,所以测试了y的没有问题。可以剪裁正确。但是顺手测试了下x值的。。。发现是剪裁范围变大的。。。无论是设置成正值还是负值的。先记个贴的。希望有人用到的可以把x的问题也顺便贴下出来的。



0 1
原创粉丝点击