試圖瞭解爲什麼我得到CGContextShowTextAtPoint低質量的繪圖?請參閱附加圖像: 視網膜顯示核心圖形字體質量
字母「W」是使用CALayer上的CGContextShowTextAtPoint繪製的,看起來非常像素化。它旁邊的按鈕是一個標準按鈕,看起來像預期的那樣高分辨率。我希望將文本繪製爲高分辨率。
試圖瞭解爲什麼我得到CGContextShowTextAtPoint低質量的繪圖?請參閱附加圖像: 視網膜顯示核心圖形字體質量
字母「W」是使用CALayer上的CGContextShowTextAtPoint繪製的,看起來非常像素化。它旁邊的按鈕是一個標準按鈕,看起來像預期的那樣高分辨率。我希望將文本繪製爲高分辨率。
默認情況下,您的CALayer未呈現,在更高的分辨率視網膜顯示屏的石英含量。 CALayers內
if ([layer respondsToSelector:@selector(setContentsScale:)])
{
layer.contentsScale = [[UIScreen mainScreen] scale];
}
這將影響不僅僅是文字渲染,但所有你的Quartz繪製的,所以您需要爲所有定製的石英圖層的做到這一點:您可以啓用此使用如下代碼內容。
是否使用CGContextScaleCTM提供任何結果嗎?當使用圖形上下文,像這樣的工作:
CGFloat scale = [[UIScreen mainScreen] scale];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM(context, scale, scale);
一組功能控制核芯顯卡是如何呈現的字體:
我沒有看到contentScaleFactor上的CALayer – vance 2011-03-25 04:17:08
謝謝,這是contentsScale上的CALayer:CGFloat的比例= [[UIScreen mainScreen]規模]; self.contentsScale = scale; – vance 2011-03-25 04:33:11
其實,設置contentsScale會使圖像看起來非常模糊。看到秒附加圖像。 – vance 2011-03-25 04:38:58