WPF 打印預覽文字不清晰的緣由

一、選擇合適的字體是總要的算法

WPF4.0中同時針對東亞字體的渲染進行了優化,如今它支持點陣字體了,而開啓這個新特性十分簡單,只需爲FontFamily設置一種點陣字體就能夠了性能優化

  如下是一張推薦設置表 LanguageFontless

Language性能

Font字體

Traditional Chinese優化

MingLiu動畫

Simplified Chinesespa

SimSunorm

Japaneseci

MS Gothic

Korean

Gulium

Korean

Batang

 

 

 

 

 

 

 

 

二、

WPF4字體改善

  WPF4對字體渲染作了很大的改善,增長了TextOptions屬性,該屬性能夠設置TextFormattingMode,TextRenderingMode,TextHintingMode

  1).TextFormattingMode

  它提供了兩種設置:

  · Ideal —— WPF4以前的模式

  · Display —— 新的模式,能夠使字體顯示更清晰

  (通常將TextFormattingMode設置爲Display,能夠提升字體顯示的清晰度)

  2).TextRenderingMode

  設置渲染模式,能夠有如下設置:

  Auto – This mode will use ClearType unless system settings have been set to specifically disable ClearType on the machine.

  Aliased – No antialiasing will be used to draw text.

  Grayscale – Grayscale antialiasing will be used to draw text.

  ClearType – ClearType antialising will be used to draw text.

  (通常用ClearType渲染出來的字體會比較平滑)

  3.TextHintingMode

  獲取或設置一個值,該值影響文本元素的呈現行爲,這是一種性能優化方式,當您對文本元素的任何文本屬性進行動畫處理時,能夠使用此方式。

  此屬性的值採用如下兩種可能的值:

  Animated 經過使用一個更高效、但視覺精確降低的平滑算法來針對動畫進行優化。(文本仍然是可讀的;精度損失並不嚴重。)

  Fixed(默認值)使用的算法針對視覺上精確的字體平滑效果進行了優化,但當將動畫應用於字體元素的屬性時,可能致使性能問題以及抖動,尤爲是對於 FontSize 或轉換/定位/投影。

  (在須要對字體作一些動態效果,例如將字體縮放時,使用Animated能獲取較高的性能,但同時也影響了其顯示的清晰度)

相關文章
相關標籤/搜索