溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

VB.NET中怎么計(jì)算文字寬度

發(fā)布時(shí)間:2021-07-19 16:06:40 來(lái)源:億速云 閱讀:381 作者:Leah 欄目:編程語(yǔ)言

VB.NET中怎么計(jì)算文字寬度,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

VB.NET文字寬度計(jì)算的代碼示例:

  1. '被表示的文字列  

  2. Dim s As String = 
    "我是全哥,歡迎!" 

  3. 'PictureBox1的Graphics對(duì)象取得  

  4. Dim g As Graphics = 
    PictureBox1.CreateGraphics()  

  5. '字體對(duì)象作成  

  6. Dim fnt As New Font("宋體", 20)  

  7. 'StringFormat對(duì)象作成  

  8. Dim sf As New StringFormat 

  1. '描繪文字列  

  2. g.DrawString(s, fnt, Brushes.Black, 
    0, 0, sf)  

  3. '設(shè)定寬度為1000像素,文字列描繪時(shí)計(jì)算大小  

  4. Dim stringSize As SizeF = 
    g.MeasureString(s, fnt, 1000, sf)  

  5. '取得的文字列的大小使用矩形描繪  

  6. g.DrawRectangle(Pens.Red, 0, 0, 
    stringSize.Width, stringSize.Height) 

  1. '測(cè)量"BINGNING"和"NET"的大小  

  2. '測(cè)量指定文字列的范圍  

  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數(shù)組  

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

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI