【发布时间】:2011-05-19 01:36:36
【问题描述】:
我的代码在普通设备上运行良好,但在视网膜设备上创建模糊图像。
有人知道我的问题的解决方案吗?
+ (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContext(view.bounds.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
【问题讨论】:
-
模糊。在我看来,正确的比例丢失了......
-
我也是。遇到了同样的问题。
-
你在哪里显示结果图像?正如其他人所解释的那样,我相信您正在将视图渲染到比例为 1 的图像上,而您的设备的比例为 2 或 3。所以您正在缩小到较低的分辨率。这是质量损失,但不应模糊。但是,当您在比例为 2 的设备上再次查看此图像(在同一屏幕上?)时,它将从低分辨率转换为更高分辨率,在屏幕截图中使用每个像素 2 个像素。这种放大最有可能使用插值(iOS 上的默认值),对额外像素的颜色值进行平均。
标签: uiimage uikit scale retina-display image-capture