如何实现VB.NET文字宽度计算

开发 后端
初学者可以通过我们介绍的VB.NET文字宽度计算的相关应用方法,来增强自己的代码编写能力,从而提高对VB.NET的认知程度。

VB.NET开发工具为我们带来了非常大的惊喜。各种新的功能特点大大吸引了开发人员的眼球。下面我们就可以通过一段对于VB.NET文字宽度计算的代码实现方式来对此进行深入的解读,了解其应用技巧。#t#

VB.NET文字宽度计算的代码示例:

  1. '被表示的文字列  
  2. Dim s As String = 
    "我是全哥,欢迎!" 
  3. 'PictureBox1的Graphics对象取得  
  4. Dim g As Graphics = 
    PictureBox1.CreateGraphics()  
  5. '字体对象作成  
  6. Dim fnt As New Font("宋体", 20)  
  7. 'StringFormat对象作成  
  8. Dim sf As New StringFormat 

 

 

  1. '描绘文字列  
  2. g.DrawString(s, fnt, Brushes.Black, 
    0, 0, sf)  
  3. '设定宽度为1000像素,文字列描绘时计算大小  
  4. Dim stringSize As SizeF = 
    g.MeasureString(s, fnt, 1000, sf)  
  5. '取得的文字列的大小使用矩形描绘  
  6. g.DrawRectangle(Pens.Red, 0, 0, 
    stringSize.Width, stringSize.Height) 

 

 

  1. '测量"BINGNING"和"NET"的大小  
  2. '测量指定文字列的范围  
  3. Dim characterRanges As 
    CharacterRange() = _  
  4. {New CharacterRange(0, 4),
     New CharacterRange(5, 3)}  
  5. sf.SetMeasurableCharacterRanges
    (characterRanges)  
  6. '指定描绘文字列的矩形  
  7. Dim layoutRect As New 
    RectangleF(0, 0, 500, 100)  
  8. '取得Region数组  
  9. Dim stringRegions As Region() = _  
  10. g.MeasureCharacterRanges(s, 
    fnt, layoutRect, sf)  
  11. '描绘取得文字列大小的矩形  
  12. Dim rect1 As RectangleF = 
    stringRegions(0).GetBounds(g)  
  13. g.DrawRectangle(Pens.Yellow, 
    Rectangle.Round(rect1))  
  14. Dim rect2 As RectangleF = 
    stringRegions(1).GetBounds(g)  
  15. g.DrawRectangle(Pens.Blue, 
    Rectangle.Round(rect2))  
  16. '资源释放  
  17. fnt.Dispose()  
  18. g.Dispose() 

VB.NET文字宽度计算相关操作方法就为大家介绍到这里。

责任编辑:曹凯 来源: 博客园
相关推荐

2010-01-12 11:17:21

VB.NET文字特效

2009-10-26 17:10:53

VB.NET word

2010-01-12 10:48:54

VB.NET LIST

2009-10-13 10:21:58

VB.NET实现Web

2009-11-10 15:18:35

VB.NET封面

2010-01-22 17:55:23

VB.NET语法糖

2009-10-23 13:22:25

VB.NET实现拖动图

2009-10-12 14:32:40

VB.NET实现定时关

2010-01-08 15:41:36

VB.NET窗口关闭

2009-10-23 15:35:42

VB.NET实用教程

2010-01-15 19:17:23

2010-01-21 17:48:25

VB.NET Sing

2009-11-03 10:18:46

VB.NET继承

2009-10-29 16:23:42

VB.NET实现IEn

2010-01-18 18:50:26

VB.NET鼠标手势

2010-01-20 13:42:10

VB.NET访问INIGetPrivateP

2010-01-22 18:14:49

VB.NET菜单组件

2010-01-08 18:31:45

VB.NET历史菜单

2009-11-10 16:20:25

VB.NET全局热键

2010-01-15 18:12:28

VB.NET超链接
点赞
收藏

51CTO技术栈公众号