gpt4 book ai didi

c# - 如何使用像素捕捉绘制 GlyphRun?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:06:30 26 4
gpt4 key购买 nike

我使用 ID2D1RenderTarget::DrawGlyphRun 方法来呈现文本,但它变得有点模糊。但是,如果我使用 ID2D1RenderTarget::DrawTextLayout 方法,文本会非常清晰,因为 DirectWrite 执行 PixelSnapping

所以我的问题是即使在使用 ID2D1RenderTarget::DrawGlyphRun 方法时如何进行像素捕捉?

我试着舍入坐标:

(int)(baselineOrigin.Y + 0.5f)

但它只在某些情况下有用。

在使用 Direct2D 呈现文本之前舍入坐标的正确方法是什么?

非常感谢您,我们将不胜感激。

最佳答案

为了避免文本模糊,字形的 Y 位置应该四舍五入。和你一样:

(int)(baselineOrigin.Y + 0.5f)

但是,您还应该考虑 ID2D1RenderTarget::GetTransform。如果 Transform 导致比例不是 1 或导致垂直偏移,则您需要计算字形出现的实际位置,然后才进行舍入。

关于c# - 如何使用像素捕捉绘制 GlyphRun?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56894483/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com