iOS 调整大小并裁剪非方形图像 - 高质量

标签 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);

长话短说,图像经过调整大小和裁剪,但考虑到原始图像的质量非常好,质量真的很差。
那么问题是如何实现这种保持高质量的图像?

最佳答案

如果您的目标是 iOS 4 及更高版本,您应该使用 ImageIO 来调整图像大小。

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

关于iOS 调整大小并裁剪非方形图像 - 高质量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9258585/

相关文章:

javascript - 即使使用经典 (document).ready 页面加载后,jQuery 也不会启动

iphone - 如何使用矩形裁剪图像?

ios - 使用未解析的标识符 'PHAssetMediaTypeImage'

ios - 如何为具有动态宽度的 UIButtons 设置背景?

ios - -[UIImage resizableImageWithCapInsets] 拉伸(stretch)错误

html - 如何调整 <div> 的大小以适合里面的图像?

java - 在 Swing 窗口中强制固定宽高比

ios - 基于 textField 将新 key 写入 .plist 文件

ios - UICollectionView 重新加载数据无法更新 CollectionView

ios - 在 UIImageView 中移动 UIImage