iOS调整大小并裁剪不平方图像 - 高品质

时间:2012-02-13 10:01:35

标签: ios uiimage resize crop

我遇到了以下问题:我有几个UIImage(没有平方),我需要调整大小并裁剪它们。我已经阅读了StackOverflow上的几乎所有问题,但我得到的结果并不好,我的意思是产生的图像质量很差(模糊)。
这是场景:
1)原始图像尺寸:宽度208像素 - 高度可变(即从50到2500)
2)结果图像:宽度100像素 - 高度最大200像素

这就是我到目前为止所取得的成就:

..... // missing code
CGFloat height = (100*image.size.height)/image.size.width;
self.thumbnail=[image resizedImage:CGSizeMake(100,height) 
              interpolationQuality:kCGInterpolationHigh];

..... // missing code

我可以找到用于调整图像大小的方法here,调整图像大小后,使用以下代码裁剪它:

CGRect croppedRect;
croppedRect = CGRectMake(0, 0, self.thumbnail.size.width, 200);  
CGImageRef tmp = CGImageCreateWithImageInRect([self.thumbnail CGImage], 
                                                          croppedRect);
self.thumbnail = [UIImage imageWithCGImage:tmp];
CGImageRelease(tmp);

长话短说,图像经过调整和裁剪,但考虑到原始图像的质量非常好,质量非常差。
所以问题是如何保持高质量的图像?

1 个答案:

答案 0 :(得分:1)

如果您定位iOS 4及更高版本,则应使用ImageIO调整图像大小。

http://www.cocoabyss.com/coding-practice/uiimage-scaling-using-imageio/