我使用两个不同的UIImageViews和UILabels呈现了合成图像,以加快在大型桌面视图中的滚动速度。不幸的是,与其他UILabel相比,主要的UILabel看起来有点模糊。renderInContext:生成带有模糊文本的图像
黑色字母“PLoS ONE”在UILabel中,它们看起来比单词“Medical”或“Medicine”更模糊。标识“PLoS one”可能同样被模糊,但不像鲜明的文本那样引人注目。
整个杂志封面是分配给UIButton的单个UIImage。
这是我用来绘制图像的代码。 magazineView是一个125×151像素的矩形。 我已经尝试了不同的缩放质量,但这并没有改变任何东西。而且它不应该,因为缩放应该不会有所不同。我将这个图像分配给的UIButton与magazineView的尺寸完全相同。
UIGraphicsBeginImageContextWithOptions(magazineView.bounds.size, NO, 0.0);
[magazineView.layer renderInContext:UIGraphicsGetCurrentContext()];
[coverImage release];
coverImage = UIGraphicsGetImageFromCurrentImageContext();
[coverImage retain];
UIGraphicsEndImageContext();
任何想法为什么它模糊?
当我开始一个图像上下文并立即渲染它时,渲染是在偶数像素上发生的,还是我需要手动设置渲染发生的位置?
125 151像素或点?如果是后者,如果您为Retina构建并在模拟器中查看像素对像素,该怎么办?你发现文字模糊,或像素翻倍? – 2012-04-15 23:09:54
我注意到模拟器没有呈现完美边缘的文本,但它在电话本身上变得很好。我不知道这是否是你的情况。 – 2012-04-16 01:43:00
@Peter:感谢您的更正 - 这是125点151点,因为我从视图的框架属性中获得了这一点。 [模拟器中的视网膜显示](http://karlbecker.com/screen_blurry_retina.png) 它在Retina中的模拟器上看起来非常好(请注意,该图稿尚未升级为Retina) Inturbidus:设备上相同,在模拟器中,至少对于普通的iPad。视网膜文字看起来好多了,好多了......无法解释这种差异。 – 2012-04-16 03:10:01