0

我使用CGContextDrawImage缩放图像,但是当我Shrink它时效率很低,有什么办法或改变提高效率。

//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
4

1 回答 1

0

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

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

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

于 2012-08-08T01:43:17.677 回答