欢迎光临
我们一直在努力

如何获取字符串的像素尺寸?-ASP教程,数据库相关

建站超值云服务器,限时71元/月

csdn 新首页的全部内容目前都是手工更新的,工作量很大,原因之一是为了裁减文章的标题,以便不出现超长换行的状况。

本来可以在程序中控制标题宽度的,超过的话自动截断并用 tooltip 的形式显示全标题,但是因为 csdn 首页采用的字体是 tahoma 12px,英文字体不是等宽的,因此难以确定宽度。

一直以来没动脑筋想解决办法,昨天开会,关于页面维护工作量过大的意见再次被提出,因此某些栏目的内容势必需要自动更新,因此标题需要自动截断。

于是我需要获得字符串的尺寸,像素单位。

.net 的 system.drawing 空间中,graphics 对象提供了能达到此目的的方法:measurestring(),其重载信息参见 msdn。

昨晚试验的取得字符串长度的代码段如下:

private void mainform_paint(object sender, system.windows.forms.painteventargs e){ font font = new font("tahoma", 11, graphicsunit.pixel); sizef size = e.graphics.measurestring(drawtext, font); this.text = size.width.tostring(); e.graphics.drawrectangle(new pen(color.red, 1), 0.0f, 0.0f, size.width, size.height); e.graphics.drawstring(drawtext, font, brushes.black, new pointf(0, 0));}

目前感觉取得的宽度像素值略大于理论值。明天继续完善之~

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 如何获取字符串的像素尺寸?-ASP教程,数据库相关
分享到: 更多 (0)