【发布时间】:2012-01-14 12:57:31
【问题描述】:
我使用此方法将图像大小调整为原始尺寸的两倍:
- (UIImage *)doubleSizeImage:(UIImage *)image {
CGSize newSize = CGSizeMake(image.size.width*2, image.size.height*2);
UIGraphicsBeginImageContext(newSize);
CGContextSetInterpolationQuality(UIGraphicsGetCurrentContext(), kCGInterpolationHigh);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return newImage;
}
事实上,插值仍然很差:我可以很好地看到像素化效果,例如,iOS Safari 在缩放页面时没有这种效果。所以我想知道是否有更好的方法来升级图像,还使用第三方库/类别或类似的东西?谢谢!
【问题讨论】:
-
你确定你真的在使用 kCGInterpolationHigh 吗?如果你摆脱那条线怎么办......它看起来一样吗?只是双重检查。此外,如果您分享这个与 Safari 的结果仅供我们参考,将会很有帮助。
标签: ios uikit core-graphics interpolation image-resizing