我遇到了以下问题:我有几个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);
长话短说,图像经过调整和裁剪,但考虑到原始图像的质量非常好,质量非常差。
所以问题是如何保持高质量的图像?
答案 0 :(得分:1)
如果您定位iOS 4及更高版本,则应使用ImageIO调整图像大小。
http://www.cocoabyss.com/coding-practice/uiimage-scaling-using-imageio/