
举个例子:给定字符串s,用Graphics的MeasureString获取高度宽度sizeF,并在一个给定的起点显示以sizeF为高度宽度的矩形大小和字符串sstrings="an English string and 一个中文字符串";Graphics g=this
CreateGraphics();
gPageUnit=GraphicsUnitPixel;
gSmoothingMode=SmoothingModeHighQuality;
StringFormat sf=newStringFormat();
sfFormatFlags=StringFormatFlagsMeasureTrailingSpaces;
SizeF sizeF=
gMeasureString(s,
this
Font,
500
, sf);
gDrawRectangle(PensRed,
newRectangle(100,
400
, ConvertToInt32(sizeFWidth), ConvertToInt32(sizeFHeight)));
gDrawString(s,
this
Font,
newSolidBrush(ColorGreen),
100,
400);以100,400坐标位奇点绘制sizeF大小的矩形 和 字符串 改sizeF是测量该字符串得到的。
效果如下:(没处理显示质量 这个不是重点)注意'g'和'串'
说明Gdi+的MeasureString跟CDC的GetTextExtent完全不一样 GDI+在字符串四周添加一些长度,以适应字符串绝对可以被测量得到的SizeF包裹住,而且在末尾添加的更多空白,大概是想包裹住文字单击时的鼠标状态。
类似上面的代码,使用TextRender的MeasureText精确获得包裹字符串的区域,效果如下:
区别在于字符串末尾增宽 和 对英文字符下部的增宽处理。
方法一:内嵌样式(为了方便查看效果我给这个段落加了个红色的边框)
方法二:内链样式(为了方便查看效果我给这个段落加了个蓝色的边框)
方法三:外链样式,同方法二,只不过将样式新建一个文件引入即可
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" "<html xmlns="
<head>
<meta ;
最终效果图如下:
如果想使单行文字垂直居中,即文字不多,将行高和段落设为一样的数值即可。如:height:100px;line-height:100pox;
以上就是关于C#中怎样得到一个字符串的宽度和高度呢有没有函数阿全部的内容,包括:C#中怎样得到一个字符串的宽度和高度呢有没有函数阿、css中怎么设置一段文字的高度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)