我正在繪製WPF中的某些圖像,這些圖像將由遊戲(由第三方開發)顯示。我目前使用RenderTargetBitmap
生成圖像。不幸的是,它似乎只支持Ideal
文本格式模式,導致模糊的小字體。該應用程序是第三方遊戲,因此無法使用圖像。我能否獲得TextFormattingMode =在屏幕外繪製時顯示(例如RenderTargetBitmap)?
我可以告訴RenderTargetBitmap
假設它正在繪製一張指定給當前監視器之一的圖像嗎?是否有另一種方式讓WPF使用Display
渲染模式進行離屏繪製?
我明白爲什麼這個看似錯誤的理論意義,但在實踐中也有,爲什麼我覺得這是不這樣做不合理的事情的原因:
- 的事情之一了
Display
模式允許的別名文字,這種文字在尺寸上比Ideal
渲染更小,並且完全獨立於諸如伽瑪等監視器屬性。 - 小型
Display
的屏幕截圖 - 在ClearType中呈現的模式文本在任何屏幕上看起來要好得多,即使是具有不同gamma值的屏幕,也不會使用Ideal
模式文本。
WPF渲染引擎可以做到這一點,還是我必須回落到GDI? (在使用Aliased或ClearType渲染離屏時沒有困難)
你有一個完整的例子,它會產生一個PNG嗎?如果是這樣,請把它發佈到pastebin.com或類似的地方嗎? – 2013-09-19 18:08:53
是的,試試這個http://pastebin.com/8N2pbAHU。我替換了粘貼中的一些變量,所以代碼未經測試。 – 2013-09-23 15:28:12
我試過了。我不認爲它與'TextFormattingMode.Display'在實際屏幕上具有相同的效果:具體來說,沒有ClearType(沒有子像素消除鋸齒)。鑑於最新的發展(在MS Office 2013和Windows 8中模糊的非ClearTyped渲染),這不是太令人驚訝,我猜... – 2013-10-04 14:35:17