将我的结果与此工具进行比较(使用浏览器呈现宽度):
http://searchwilderness.com/tools/pixel-length/字符串:
"Lorem ipsum dolor sit amet,consectetur adipiscing elit."
计算宽度为439像素.
但是使用C#中的代码我得到445px:
var Font = new Font("Arial",18,FontStyle.Regular,GraphicsUnit.Pixel);var text = "Lorem ipsum dolor sit amet,consectetur adipiscing elit.";var size = TextRenderer.MeasureText(text,Font,new Size(int.MaxValue,int.MaxValue),textformatFlags.Nopadding);
我可以修改我的代码,使其渲染类似于浏览器吗?
我试图输出带有字体和文本的标签,并与浏览器渲染进行比较(/ – 1px).
解决方法 您可以将GDI与StringFormat.GenericTypographic一起使用:var Font = new System.Drawing.Font("Arial",System.Drawing.FontStyle.Regular,system.drawing.graphicsUnit.Pixel);var text = "Lorem ipsum dolor sit amet,consectetur adipiscing elit.";var graphics = system.drawing.graphics.FromHwnd(IntPtr.Zero);var size = graphics.MeasureString(text,int.MaxValue,System.Drawing.StringFormat.GenericTypographic);
另见:https://stackoverflow.com/a/6404811
总结以上是内存溢出为你收集整理的C#:像素宽度匹配在浏览器中呈现的文本全部内容,希望文章能够帮你解决C#:像素宽度匹配在浏览器中呈现的文本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)