我尝试了流行的 UIImage+Resize 类别,并使用了不同的插值设置。我已经尝试通过 CG 方法和 CIFilters 进行缩放。然而,我永远无法得到一张缩小后的图像,它既不会看起来焦点略微柔和,也不会充满锯齿状的伪影。是否有其他解决方案或第三方库可以让我获得非常清晰的图像?
这在 iPhone 上肯定是可能的,因为例如照片应用程序即使在缩放时也会显示清晰的图像。
最佳答案
你说的是CG,但没有说明你的方法。
使用绘图或位图上下文:
CGContextSetInterpolationQuality(gtx, kCGInterpolationHigh);
CGContextSetShouldAntialias(gtx, true); << default varies by context type
CGContextDrawImage(gtx, rect, image);
并确保您的 View 及其图层不会再次调整图像大小。我在这方面取得了不错的成绩。其他 View 可能会影响您的 View 或上下文。如果它看起来不太好,请单独尝试以理智地检查是否有什么东西扭曲了您的 View /图像。
如果要绘制到位图,则创建具有目标尺寸的位图,然后绘制到该位图。
理想情况下,您将保持宽高比。
另请注意,这可能会占用大量 CPU——在 HQ 中重复绘制/缩放会花费大量时间,因此您可能需要创建一个调整大小的副本(使用 CGBitmapContext
)。
关于ios - 如何缩小 iOS 中的图像,消除锯齿但不柔和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9117214/