C#中怎样得到一个字符串的宽度和高度呢有没有函数阿

C#中怎样得到一个字符串的宽度和高度呢有没有函数阿,第1张

举个例子:给定字符串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中怎么设置一段文字的高度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9765772.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存