IOS CGContextDrawImage缩放图像,效率非常低

时间:2012-08-07 08:37:03

标签: ios opengl-es bitmap draw

我使用CGContextDrawImage缩放图像,但是当我收缩它时效率非常低, 有没有办法或改变提高效率。

//bitmap is 1000X1000 when i Shrink it use CGContextDrawImage
CGContextDrawImage(context, CGRectMake(cbx, cby, image.size.width-X, iamge.size.height-Y),[image CGImage]);
//X and Y increased gradually

1 个答案:

答案 0 :(得分:0)

如果你看CGContextRef,可以选择设置插值质量 - 你希望它的速度低:CGContextSetInterpolationQuality(...);您也可以尝试使用Accelerate函数(具体看一下vImage相关函数),但不清楚这将有助于使它更快(并且这里有一个学习曲线)。

如果你可以用2的幂来缩小它,你可以通过每隔一行取一个其他像素来自己调整大小 - 这将非常快。

此外,每次缩小图像时,请缓存该图像,如果必须调整为较小的图像,请使用先前缩小的图像而不是较大的图像作为起点。