VB.NET中怎么计算文字宽度

VB.NET中怎么计算文字宽度,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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() 

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对亿速云的支持。