问题标签 [measurestring]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - GDI+ MeasureString() 错误地修剪文本
我正在尝试完成一个可以在屏幕上布局文本的代码。以下 C# 代码放置在Paint
原本为空的 Windows 窗体的事件处理程序中就是一个示例:
s
除了修剪数组中每段文本之前和之后的空白之外,它可以正常工作。它应该显示如下:
测试此布局算法的示例文本
但相反,它看起来像这样:
用于测试此布局算法的示例文本
我已确认该f.Trimming
属性设置为None
. 我猜想这会在字符串的度量中添加尾随和开头的空格,但它仍然会修剪它。关于如何制作该MeasureString
方法的任何想法包括空格?否则,字距调整处理得很好。
c# - MeasureString() 没有返回足够的宽度
我有以下代码在 aLabel
上创建 a PictureBox
:
但标签总是丢弃最后一个字符。如果我在通话中添加一个字符:
它工作正常,但感觉不对。
标签中的文本之前似乎有一些空白,但Padding
设置为 0。我怎样才能以正确的方式解决这个问题?
c# - 如何实现自动换行?
XNA 有 Spritefont 类,它有一个 MeasureString 方法,可以返回 Width 和 Height 的值string
。我试图了解如何创建一种方法,该方法将有效地返回Environment.Newline
插入在正确位置的字符串,以便如果适合某个宽度和高度(矩形用作该参数)。
c# - 返回字符串度量的通用函数 (Graphics.MeasureString)
在 C# 或 VB.NET 中,我如何编写一个只需要传递一个字符串和一个字体来返回字体度量的通用函数?
这是我尝试过的:
c# - Graphics MeasureString 方法是否/可以考虑容器的宽度和换行?
鉴于我已经知道宽度,我需要计算字符串的高度。
例如,如果有一个字符串,如“Curabitur semper ipsum semper nulla dictum, vel vulputate elit fringilla. Donec nec placerat purus, ut blandit lectus. Maecenas non molestie nulla. Class aptent taciti socialsqu。”
我可以使用以下代码来计算该字符串的单行宽度/高度。
但是,我想做的是计算该字符串的高度,如果它在 200px 的 div 内,考虑换行。
起初我认为它是用于派生 Graphics 对象的图像宽度的函数。
这没有帮助并获得相同的单线尺寸。
有谁知道任何其他技巧来获得这个?
vb.net - 在 VB.net windows 窗体中将文本放入 TextBox 中
在我的一个应用程序中,我需要将文本放在文本框内,并且文本框的宽度和高度必须根据文本的长度而变化。所以我正在使用
其中 textcontent 是文本内容,TextFont 是字体类型。(请参阅此链接)
但是如果文本包含大量字符说它需要在表单内大约 2 行(如果文本不适合单行)那么我还需要设置高度。所以我希望文本适合任何给定文本的文本框。此外,如果存在多行的情况(对于大文本),那么在第一行的末尾和第二行之间不应有额外的空间。那么怎么做呢?
c# - 获取单元格设置 WrapText 的行高
我正在尝试计算要插入到我的 excel 表中的行的高度。行的单元格用 格式化WrapText=true
,因此行的高度不是固定的。访问 row.Height 将返回 null。
我正在考虑使用类似于Graphics.MeasureString
我还指定宽度约束的地方来检索高度。
网上没找到相关资料。任何帮助,将不胜感激。
c# - 如何估计要打印的字符串的长度?
我正在尝试估计打印字符串的长度。
txtSize 为 {Width=60.3177, Height=19.875} 点。
实际宽度应为 60.3177 * 0.353 = 21.29 mm
其中(1 点 = 1/72 英寸 = 0.353 毫米)
在纸上(用 Word 打印)宽度约为 13.5 毫米
为什么我们在使用 MeasureString 计算的值(21.29 毫米)和实际值(13.5 毫米)之间得到如此大的差异?
我知道MeasureString 方法的局限性,但我认为这不能证明如此大的差异是合理的。
我错过了什么?
c# - System.Drawing.Graphics 修剪字符串的结尾?
在研究文本渲染算法时,我偶然发现了该Graphics.MeasureString()
方法的一个奇怪行为。
似乎它在内部修剪了字符串的结尾。
有人可以解释这种行为吗?
c# - 使用 MeasureString 时出现“GDI+ 中出现一般错误”
我有一个重写的(WinForms)MemoEdit 控件(不幸的是我不能给你代码)。如果我输入超过 32000 个字符,则会引发错误“GDI+ 中发生一般错误”我认为我的控件中存在错误(异常),但后来我在一个简单的 WinForm 应用程序上测试了这段代码:
并且它以完全相同的错误崩溃有谁知道为什么会发生这种情况或在哪里指定了这个常数 32000 ?我在谷歌上找不到任何有用的东西。