我使用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
答案 0 :(得分:0)
如果你看CGContextRef,可以选择设置插值质量 - 你希望它的速度低:CGContextSetInterpolationQuality(...);您也可以尝试使用Accelerate函数(具体看一下vImage相关函数),但不清楚这将有助于使它更快(并且这里有一个学习曲线)。
如果你可以用2的幂来缩小它,你可以通过每隔一行取一个其他像素来自己调整大小 - 这将非常快。
此外,每次缩小图像时,请缓存该图像,如果必须调整为较小的图像,请使用先前缩小的图像而不是较大的图像作为起点。