System.Drawing.Font - 更改字母间距?
使用 System.Drawing.Font,有没有办法改变字母间距,就像改变字体大小一样?
我正在寻找增加字母间距以适应特定宽度。
如果这不可能,是否有其他方法可以达到预期的效果?例如,是否有一种简单的方法可以让多个图形适合我的特定宽度?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为 DrawString 不会允许您指定任何像字符之间的间距这样详细的内容,但我会创建一个辅助函数,根据所需的宽度计算间距,然后绘制每个字符以适应。
尝试一下,看看效果如何...
您可能可以对此进行优化,以便每个字符只调用一次 MeasureString。或者甚至使用 MeasureCharacterRanges 来获取一个数组(我相信无论如何它更准确)
编辑:这是一个使用 MeasureCharacterRanges 的示例......
I don't think DrawString will allow you to specify anything as detailed as the spacing between characters, but I would create a helper function that calculates spacing based on a desired width and then draw each character to fit.
Try this and see how you get on...
You could probably optimise this to make only one call to MeasureString per character. Or even use MeasureCharacterRanges to get an array (which I believe is more accurate anyway)
Edit: Here is an example using MeasureCharacterRanges instead...
此代码支持文本中的换行并返回 Image 对象。
This code supports a new line in the text and returns an Image object.