【发布时间】:2010-10-01 18:26:55
【问题描述】:
我正在使用以下代码自己缩放图像。代码很好,图像缩放没有问题。
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);
唯一的问题是此代码的缩放过程非常缓慢。谁能指出如何改进它?
谢谢
【问题讨论】: