2

我正在尝试使用 Graphics.DrawString 和 TextRenderer.DrawText 在固定矩形上放置一些具有可变字符数的字符串。

然而,即使使用 GDI+ 包装方法,我对结果也不满意:我需要控制字体字距调整(或字符串字符间距),以便有机会包装大量字符串。

我阅读了有关 FontStretches 的信息,但我不知道如何在 winform 中使用。另一种方法是 Typography.SetKerning 但我再次对使用它一无所知。

有人可以帮忙吗?!

第 2 轮:我知道这可能很难,Win32 API 支持自由类型,这可能是问题的解决方案。实际上,我的目标是在 .NET 中做类似于“http://stackoverflow.com/questions/4582545/kerning-problems-when-drawing-text-character-by-character”的事情。请注意,我正在研究预先形成的阿拉伯语字符串,而不是用户字符输入。我的问题是:(1)确定哪个库具有所需的字距调整函数(很可能是 gdi32.dll),(2)构建 ac# 安全环境来处理 dll 调用,(3)实现对在 c# 中工作的 dll 的调用。

有人可以帮忙吗?

谢谢你的回答。

4

1 回答 1

0

如果您查看文档,很容易找出哪些功能以及如何使用它。

Typography.SetKerning方法是 WPF 专用的,因此您将无法在 WinForms 中使用它。

一个快速的谷歌发现了这篇文章,它向我们展示了如何将字距调整值修改为 GDI 文本。

于 2011-07-26T10:40:30.653 回答