c# - 获取适合提供的像素宽度的字符串的最佳方法是什么?

标签 c# javascript measurement

我现在面临一个问题,即获取适合所提供宽度(以像素为单位)的字符串。

例如,如果我有这样一个句子(在 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/

相关文章:

javascript - 打印时尝试将 div 带到最后一页的页脚

javascript - 在for循环中异步读取多个文件

c# - 结果导致任务死锁

c# - 将 Json 字符串转换为对象列表

c# - 修改 LINQ 输出 AnonymousType 无法赋值

python - pyVISA GPIB GET(组执行触发器)

C# 测量转换类

C# 可空整数 - 编译错误

javascript - ExtJs - 带有动态可关闭标签的文本字段

android - 获取弹窗的度量