如何实现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文字宽度计算相关操作方法就为大家介绍到这里。

THE END