我使用兩個不同的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