c# – 测量字符串就像在html上一样吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 测量字符串就像在html上一样吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1335字,纯文字阅读大概需要2分钟。
内容图文
![c# – 测量字符串就像在html上一样吗?](/upload/InfoBanner/zyjiaocheng/792/388b945fb4154903a55c3058a3a6f194.jpg)
我有确切的字符串:123 ..
我想知道它的长度是什么,好像它是在Html页面上(作为SPAN)
font-name:arial
font-size:16px;
我做了一个实验:
http://jsbin.com/axezib/edit#preview
所以
<span style="font-family:arial;border:solid 1px red;display:inline-block;font-size:16px;">123..</span>
呈现为:
及其属性:
当然 *
{
填充:0像素;边缘:0像素;
}
你可以看到它的宽度是35,高度= 19. (让我们忽略边界…)
但是我有这个代码应该(或不)告诉我相同的结果:
void Main( )
{
string input = "123..";
FontFamily fontFamily = new FontFamily("Arial");
Font testFont = new Font( fontFamily, 16, FontStyle.Regular, GraphicsUnit.Pixel);
Size s = TextRenderer.MeasureText(input, testFont);
Console.WriteLine("Size: height " + s.Height + ", width " + s.Width);
Console.ReadLine();
}
但结果是:
我在这里想念的是什么?
谢谢 :-)
编辑
在re-editing之后通过添加CSS RESET的html代码 – 代码在所有4个浏览器中完全呈现.
所以问题仍然存在 – 为什么c#没有给我显示相同的结果
解决方法:
看起来好像是在尝试比较使用默认Windows字体渲染(以及系统上默认的任何消除锯齿,ClearType设置等)渲染的字符串的大小,并将其与Windows上的浏览器进行的渲染进行比较.或者可能没有自己的字体渲染引擎.据我所知,Gecko(Firefox)和Webkit(Chrome,Safari)实现了自己的字体渲染,因此可以在不同平台上一致地呈现HTML / CSS.
所以基本上,即使你可以让你的C#代码同意,结果也是毫无意义的,因为你在比较苹果和橘子!请参阅this article中的“当前实施”.
内容总结
以上是互联网集市为您收集整理的c# – 测量字符串就像在html上一样吗?全部内容,希望文章能够帮你解决c# – 测量字符串就像在html上一样吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。