Tag: 测量

为什么TextRenderer.MeasureText不能在C#中使用较大的字体正确测量文本?

我正在做的是获取字符串的像素大小并将其转换为百分之一英寸(即像素/ DPI =英寸,英寸* 100 =百分之一英寸)。 这是我的代码: private static SizeF TextSize(string text, Font txtFnt) { SizeF txtSize = new SizeF(); // The size returned is ‘Size(int width, int height)’ where width and height // are the dimensions of the string in pixels Size s = System.Windows.Forms.TextRenderer.MeasureText(text, txtFnt); // Value based on normal DPI settings of 96 […]

GDI + MeasureString()错误地修剪文本

我正在尝试完成可以在屏幕上布局文本的代码。 以下C#代码放在一个空的Windows窗体的Paint事件处理程序中是一个例子: string[] s = new string[] { “Sample text “, “to test”, ” this layout “, “algorithm” }; PointF[] pts = new PointF[s.Length]; PointF start = new PointF(10, 10); StringFormat f = new StringFormat(StringFormat.GenericTypographic); float x = start.X; float y = start.Y; for (int i = 0; i < pts.Length; i++) { pts[i] = […]

如何测量对角线距离点?

我可以计算水平和垂直点,但我无法弄清楚如何使用对角点计算距离。 有人可以帮我弄这个吗。 这是我的水平和垂直测量的代码: private float ComputeDistance(float point1, float point2) { float sol1 = point1 – point2; float sol2 = (float)Math.Abs(Math.Sqrt(sol1 * sol1)); return sol2; } protected override void OnMouseMove(MouseEventArgs e) { _endPoint.X = eX; _endPoint.Y = eY; if (ComputeDistance(_startPoint.X, _endPoint.X) <= 10) { str = ComputeDistance(_startPoint.Y, _endPoint.Y).ToString(); } else { if (ComputeDistance(_startPoint.Y, _endPoint.Y) <= 10) […]

确定指定字体的确切字形高度

我经常搜索并尝试了很多,但我找不到合适的解决方案。 我想知道有没有办法确定指定字体的确切字形高度 ? 我的意思是在这里,当我想确定DOT字形的高度时,我应该收到较小的高度而不是带有填充或字体大小的高度。 我已经找到了确定精确字形宽度的解决方案(我已经使用了第二种方法),但它不适用于高度。 更新:我需要.NET 1.1的解决方案

如何使用.NET中的多个并发线程来衡量代码块(线程)执行时间

现在我们只是使用这样的东西 stopWatch.Start(); try { method(); } finally { stopWatch.Stop(); } 哪种方法适用于同步方法,但有些方法是异步执行的,因此在执行多个线程时时间会有所偏差。 是否有相当于System.Diagnostics.Stopwatch,它只测量当前线程的时间花费? 我们希望在我们的内部beta(alpha?)版本中长时间收集数据,并且在分析器全时运行不是一个可行的选择。 编辑:为了澄清,我们只想测量执行method()所花费的时间,所以如果Method1()和Method2()都同时启动而Method1在2秒标记处完成,而Method2在4秒标记处完成,我想要的东西可以告诉我,Method1花了大约1秒钟执行,而Method2花了大约3秒钟执行(假设在前2秒内他们平均共享(假设单核)处理器。

C#中的角度测量仪

我想制作一个工具,可以测量表格上两个用户定义的点之间的角度。 我目前没有代码可以执行此操作,因此任何代码都将受到赞赏。 谢谢 UPDATE 它需要是以度为单位,我的点是3个图片盒,每个图片盒的三个点都有不同的颜色供测量角度。 UPDATE 这是我当前的新代码: namespace Angle_Measurer_Tool { public partial class Form1 : Form { public Form1() { InitializeComponent(); } int Dotter = 0; private void button1_Click(object sender, EventArgs e) { Dotter = 1; } public int Distance2D(int x1, int y1, int x2, int y2) { int result = 0; double part1 = […]