【发布时间】:2012-03-04 17:46:31
【问题描述】:
我面临以下问题:我有几个 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);
长话短说,图像已调整大小和裁剪,但考虑到原始图像的质量非常好,质量确实很差。
那么问题是如何实现这一点并保持图像的高质量?
【问题讨论】: