在我的应用程序中,我从相机中捕获图像。那时我的图像清晰度很棒但是使用以下代码行将我的图像移动到下一个视图。
- (UIImage *) imageFromView:(UIView *)view {
UIGraphicsBeginImageContext(view.bounds.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
当我在下一个视图中看到图像时,它比以前更清晰。
我想提一下,在两个屏幕上,图像视图的高度和宽度都是一样的。
那么图像清晰度应该是什么问题?
答案 0 :(得分:2)
使用此行
UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, 0.0);
而不是
UIGraphicsBeginImageContext(view.bounds.size);
答案 1 :(得分:0)
您需要将图像偏移0.5,0.5。否则,Quartz会在4个邻居之间分配每个点。
在Quartz中,0.0是像素的一角,而不是它的中心。
CGContextTranslateCTM(context, 0.5, 0.5);