- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我给 TextRenderer.MeasureText 一些要测量的文本和要使用的宽度,它将返回显示该文本所需的高度。
private static int CalculateHeight(string text, Font font, int width)
{
Size size = TextRenderer.MeasureText(text, font, new Size(width, Int32.MaxValue), TextFormatFlags.NoClipping | TextFormatFlags.WordBreak);
return size.Height;
}
如果我将该文本、宽度和高度提供给 LinkLabel,它将以所提供的宽度和高度显示文本,不会被剪掉。
但是,如果我将 Link 放入 LinkLabel.Links 集合中,LinkLabel 将绘制文本,字符之间的间距看起来会稍大一些,有时这会导致文本的结尾被剪掉。有什么办法可以防止这种情况发生吗?我试过在有链接时添加填充,但没有可靠的方法来确切知道还需要多少空间。还有其他方法吗?
最佳答案
你应该使用 Control.GetPreferredSize计算控件所需宽度或高度的方法(在您的情况下为 LinkLabel)。您不应该将 MeasureText 用于此类目的,您可以找到更详细的解释 here (Accuracy of TextRenderer.MeasureText results.)
关于c# - LinkLabel 需要比 TextRenderer.MeasureText 说更多的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/952518/
我在使用 skia measureText() 函数测量文本时遇到问题。返回值不准确。 SkPaint *skPaint = new SkPaint(); SkTypeface* myFont = S
我预计 TAB 字符会比 SPACE 字符宽,但在 HTML5 canvas 中,它们是相同的。加上其他一些,这不是那么重要: var c=document.getElementById('mycan
我有一个位图对象,我想在其上绘制一些文本。该文本应该针对给定点正确对齐。这就是我现在的做法: newBitmap = Image.FromFile(bg) as Bitmap; Graphics g
所以我使用Paint的measureText()方法来测量一段文本的宽度,但是我想根据一定的文本大小来测量文本。假设我想获得一个文本段的宽度,当它占据某个 TextView 时,它将是 20 个缩放像
嗨,我正在使用 TextRenderer.MeasureText() 方法来测量给定字体的文本宽度。我使用 Arial Unicode MS 字体来测量宽度,这是一种包含所有语言字符的 Unicode
调用 TextRenderer.MeasureText 如下: TextRenderer.MeasureText(myControl.Text, myControl.Font); 并将结果与控件的
我有一个长字符串(约 10 万个字符)。我需要知道这个字符串的长度。我叫 Size s = TextRenderer.MeasureText(graphics, text, font); 但它返回宽度
我正在使用 measureText() 一次显示一个字符的文本,但它给了我错误的值。 我有一个绘制字符的函数 drawChar(ch)、一个上下文“ctx”和一个将字符定位在 Canvas 上的变量“
我想使用 cavsTxt.measureText 找到文本元素的宽度。根据宽度,我会检查它是否从父元素溢出。我在更改字体系列及其大小时得到了不同的宽度。 cavsElem = document.cre
根据 MDN , .measureText().width “包含以 CSS 像素为单位的文本的提前宽度(该行内框的宽度)”,这意味着屏幕上的显示大小,这意味着如果我调用 .scale(2,2) 在我
Paint.measureText 对于阿拉伯语文本不准确。这是我尝试过的: 我有一个 TextView tv1。 tv1.getWidth(); 给出 480,没问题。 tv1.getPaint()
我试图在我的 TextBox 子类中绘制 80 个字符的边距。这是我的代码: class FooTextBox : TextBox { ... void UpdateMarginPos
我想我不知道要使用什么搜索词,这应该很简单...我用什么来确定字符串的宽度(以英寸为单位)。 Dim sSize As System.Drawing.SizeF Dim
编辑:最初我只检查了桌面浏览器 - 但对于移动浏览器,情况更加复杂。 我遇到了一些浏览器及其文本呈现功能的奇怪问题,我不确定是否可以采取任何措施来避免这种情况。 Android 上的 WebKit 和
我试图在 HTML Canvas 上的一串字符下画一条线,但从 measureText 返回的值是错误的。 代码如下: var theCanvas = document.querySelector(
在canvas中测量文本时,经常会看到如下代码 w = c.measureText(d.text + "m").width 来自 https://github.com/jasondavies/d3-c
我需要计算客户提供的所有文本的长度(以像素为单位)。问题是他们只提供了一种常规字体,而斜体样式必须由 Android 呈现。一个已知的 Android 错误是,对于斜体(呈现为斜体)字体,未正确计算
我想在给定一定宽度的可用 Canvas 的情况下测量文本的高度。我传递的文本很长,我知道会换行。为此,我调用以下方法: using System.Windows.Forms; ... string t
我正在使用 Paint.getTextBounds() 测量文本,因为我对获取要呈现的文本的高度和宽度感兴趣。但是,实际呈现的文本总是比 .width() 宽一点。的Rect getTextBound
如果我给 TextRenderer.MeasureText 一些要测量的文本和要使用的宽度,它将返回显示该文本所需的高度。 private static int CalculateHeight(str
我是一名优秀的程序员,十分优秀!