【发布时间】:2009-07-22 06:57:57
【问题描述】:
我现在遇到了一个问题,即获取一个符合提供的像素宽度的字符串。
例如,如果我有这样的句子(在 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 像素,它可以工作,但它需要多次迭代,这根本不是一个好的解决方案。
有人对此有好的解决方案吗?
谢谢。
【问题讨论】:
-
JavaScript 是从哪里来的?
-
所有框架中大部分DrawText函数都具有矩形限制文本的能力,为什么不提供边界让系统处理呢?
-
JavaScript 从何而来?因为我可以从 Ajax 调用中获取数据,所以如果有好的解决方案,也可以通过 javascript 进行剪切。
-
@Shay Erlichmen :我会检查是否有这样的解决方案。
-
你控制网页标记吗?您是否担心文本被截断的位置?如果答案分别是“是”和“否”,那么您可以将相关显示元素的内容剪裁为 50px 并保留文本。
标签: c# javascript measurement