我现在面临一个问题,即获取适合所提供宽度(以像素为单位)的字符串。
例如,如果我有这样一个句子(在 JavaScript 中):
var mystring = "This is my sentence, I need to get just 50 pixels from it."
如果我在 C# 中使用 MeasureString
方法,我可以获得宽度:
Font font = new Font("Segoe UI", 11, FontStyle.Regular, GraphicsUnit.Point);
SizeF size = graphics.MeasureString(mystring, font);
假设此字符串的宽度为 400 像素,但我可以在网站上显示的最大宽度为 50 像素。
如果我缩短字符串并对其进行测量,直到它的宽度小于 50 像素,它就可以工作,但它需要多次迭代,这根本不是一个好的解决方案。
有人对此有好的解决方案吗?
谢谢。
最佳答案
使用二分法搜索最佳长度不应进行多次迭代。考虑到文本呈现的复杂性,我相信这是您能做的最好的。您不能只为每个字符取一个宽度并将它们相加。
关于c# - 获取适合提供的像素宽度的字符串的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1163500/