vb.net 计算文字的宽度
2009-07-21 16:27
260 查看
Code
'被表示的文字列
Dim s As String = "我是全哥,欢迎!"
'PictureBox1的Graphics对象取得
Dim g As Graphics = PictureBox1.CreateGraphics()
'字体对象作成
Dim fnt As New Font("宋体", 20)
'StringFormat对象作成
Dim sf As New StringFormat
'描绘文字列
g.DrawString(s, fnt, Brushes.Black, 0, 0, sf)
'设定宽度为1000像素,文字列描绘时计算大小
Dim stringSize As SizeF = g.MeasureString(s, fnt, 1000, sf)
'取得的文字列的大小使用矩形描绘
g.DrawRectangle(Pens.Red, 0, 0, stringSize.Width, stringSize.Height)
'测量"BINGNING"和"NET"的大小
'测量指定文字列的范围
Dim characterRanges As CharacterRange() = _
{New CharacterRange(0, 4), New CharacterRange(5, 3)}
sf.SetMeasurableCharacterRanges(characterRanges)
'指定描绘文字列的矩形
Dim layoutRect As New RectangleF(0, 0, 500, 100)
'取得Region数组
Dim stringRegions As Region() = _
g.MeasureCharacterRanges(s, fnt, layoutRect, sf)
'描绘取得文字列大小的矩形
Dim rect1 As RectangleF = stringRegions(0).GetBounds(g)
g.DrawRectangle(Pens.Yellow, Rectangle.Round(rect1))
Dim rect2 As RectangleF = stringRegions(1).GetBounds(g)
g.DrawRectangle(Pens.Blue, Rectangle.Round(rect2))
'资源释放
fnt.Dispose()
g.Dispose()
'被表示的文字列
Dim s As String = "我是全哥,欢迎!"
'PictureBox1的Graphics对象取得
Dim g As Graphics = PictureBox1.CreateGraphics()
'字体对象作成
Dim fnt As New Font("宋体", 20)
'StringFormat对象作成
Dim sf As New StringFormat
'描绘文字列
g.DrawString(s, fnt, Brushes.Black, 0, 0, sf)
'设定宽度为1000像素,文字列描绘时计算大小
Dim stringSize As SizeF = g.MeasureString(s, fnt, 1000, sf)
'取得的文字列的大小使用矩形描绘
g.DrawRectangle(Pens.Red, 0, 0, stringSize.Width, stringSize.Height)
'测量"BINGNING"和"NET"的大小
'测量指定文字列的范围
Dim characterRanges As CharacterRange() = _
{New CharacterRange(0, 4), New CharacterRange(5, 3)}
sf.SetMeasurableCharacterRanges(characterRanges)
'指定描绘文字列的矩形
Dim layoutRect As New RectangleF(0, 0, 500, 100)
'取得Region数组
Dim stringRegions As Region() = _
g.MeasureCharacterRanges(s, fnt, layoutRect, sf)
'描绘取得文字列大小的矩形
Dim rect1 As RectangleF = stringRegions(0).GetBounds(g)
g.DrawRectangle(Pens.Yellow, Rectangle.Round(rect1))
Dim rect2 As RectangleF = stringRegions(1).GetBounds(g)
g.DrawRectangle(Pens.Blue, Rectangle.Round(rect2))
'资源释放
fnt.Dispose()
g.Dispose()
相关文章推荐
- swift中根据宽度计算文字高度的方法的封装
- 用 VB.NET 实现的非确定性计算例子
- 根据表格内容,自动调整VB.NET中Datagrid控件单元格宽度
- vb.net 在windows7下实现毛玻璃效果+发光文字
- 数学之路-vb.net并行计算(3)
- [VB.NET]如何在Datagridview中进行列间的计算?
- ASP.NET(VB) 给图片增加水印文字
- 【iOS 开发】Xcode6中计算文字的宽度或高度 ——伊禾媛
- ASP.NET(VB) 给图片增加水印文字
- 计算文字的高度和宽度--以微博会话界面中用户名为例
- Android用Paint计算文字宽度
- 【iOS】swift-文字宽度的计算
- js实现计算文字宽度
- 计算文字在固定宽度下 折行显示后的高度
- vb.net 在windows窗体上实现文字滚动
- ASP.NET(VB) 给图片增加水印文字
- 计算文字的高度和宽度--以微博会话界面中用户名(userName)为例
- 【iOS】swift-文字宽度的计算
- 文字转换为语音VB.NEt实现
- 根据表格内容,自动调整VB.NET中Datagrid控件单元格宽度