使用CGContextSetInterpolationQuality的ImageQuality

His*_*erg 4 iphone quartz-graphics

CGContextSetInterpolationQualityQuartz中的方法效果如何?

它会影响图像的质量吗?如果是这样,到什么程度?

我看不出插值和非插值图像之间的任何差异.

ser*_*gio 19

虽然这是一个老问题,但我最近做了一些关于其影响的基准测试,CGContextSetInterpolationQuality并认为其结果可能会引起其他人的兴趣.

在我的基准测试中,我绘制了一组6个不同的649x649 b&w位图图像,以构建一组12个不同的拼图拼图.位图图像按比例缩小5.0倍(即,达到129.8x129.8),使其适合320x480显示器(视网膜显示比例).

据Instruments报道,第四代iPod touch的运行时间如下:

  • kCGInterpolationLow:969毫秒

  • kCGInterpolationMedium:1690毫秒

  • kCGInterpolationHigh:2694毫秒

  • kCGInterpolationNone:545毫秒

至于视觉结果,如果您比较高或中低或无,则差异是惊人的.甚至明显,IMO,无与低之间的区别; 而在这个特定的测试中,高和中之间的差异并不是特别明显.很清楚的是运行时间的差异,所以在我的特定情况下,我最终使用了kCGInterpolationMedium.

kCGInterpolationNone

在此输入图像描述

kCGInterpolationLow

在此输入图像描述

kCGInterpolationMedium

在此输入图像描述

kCGInterpolationHigh

在此输入图像描述