2015-07-18 36 views
2

我使用的DrawText目前正在起草中的DirectWrite文本。更改爲DWriteMeasuringMode DrawTextLayout

在我切換到DrawTextLayout我注意到,別名字母的呈現沒有很好做。

有沒有辦法來改變測量模式就像我們可以在DrawText的做DWRITE_MEASURING_MODE_GDI_CLASSIC

頂部繪製文本與DrawText的(和DWRITE_MEASURING_MODE_GDI_CLASSIC),底部有DrawTextLayout。

http://img5.fotos-hochladen.net/uploads/wwwwwwwww3b9zou6icp.jpg

http://img5.fotos-hochladen.net/uploads/xxxxxxxag8pdm5h2e.jpg

正如你所看到的字符間距是不是在底部的文字不錯。

如果我設置的DrawText的測量模式,以DWRITE_MEASURING_MODE_NATURAL我有像TextLayout中繪製完全相同的結果。所以問題是我不知道如何改變的測量模式。

回答

1

得到它的工作。用Delphi時

DWriteFactory.CreateGdiCompatibleTextLayout 

但是他們搞砸PARAMS的規定在這裏:

我完全沒看到功能

https://msdn.microsoft.com/en-us/library/windows/desktop/dd368192%28v=vs.85%29.aspx

無論出於何種原因,他們refure來修復正如2013年報道的那樣:

http://qc.embarcadero.com/wc/qcmain.aspx?d=112581

+0

也許在[新錯誤數據庫](http://quality.embarcadero.com)中重新報告它?如果可以,請包含一個能夠重現問題的自包含代碼示例。 –

+0

注意[QualityCentral現在已經關閉(https://community.embarcadero.com/blogs/entry/quality-keeps-moving-forward),所以你不能訪問'qc.embarcadero.com'鏈接了。如果您需要訪問舊的QC數據,請查看[QCScraper](http://www.uweraabe.de/Blog/2017/06/09/how-to-save-qualitycentral/)。 –