我使用以下代码自己缩放图像。代码很好,图像缩放没有问题。

UIImage *originImg = img;
size = newSize;
if (originImg.size.width > originImg.size.height) {
    newSize = CGSizeMake(size.width, originImg.size.height * size.width / originImg.size.width);
} else {
    newSize = CGSizeMake(originImg.size.width * size.height / originImg.size.height, size.height);
}

UIGraphicsBeginImageContext(newSize);

CGContextRef context = CGContextRetain(UIGraphicsGetCurrentContext());
CGContextTranslateCTM(context, 0.0, newSize.height);
CGContextScaleCTM(context, 1.0, -1.0);

CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, newSize.width, newSize.height), originImg.CGImage);

UIImage* scaledImage = [UIGraphicsGetImageFromCurrentImageContext() retain];

UIGraphicsEndImageContext();
CGContextRelease(context);

唯一的问题是此代码的缩放过程非常缓慢。有人可以指出如何改进它吗?

谢谢

最佳答案

你可以尝试:

CGContextSetInterpolationQuality(context, kCGInterpolationNone);

要么
CGContextSetInterpolationQuality(context, kCGInterpolationLow);

并查看其中任何一个是否会在可接受的质量水平下产生任何性能差异。

关于iphone - 缩放图像非常慢 - 帮助,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3842042/

10-14 23:08