如何實現VB.NET文字寬度計算
作者:佚名
初學者可以通過我們介紹的VB.NET文字寬度計算的相關應用方法,來增強自己的代碼編寫能力,從而提高對VB.NET的認知程度。
VB.NET開發工具為我們帶來了非常大的驚喜。各種新的功能特點大大吸引了開發人員的眼球。下面我們就可以通過一段對于VB.NET文字寬度計算的代碼實現方式來對此進行深入的解讀,了解其應用技巧。#t#
VB.NET文字寬度計算的代碼示例:
- '被表示的文字列
- 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()
VB.NET文字寬度計算相關操作方法就為大家介紹到這里。
責任編輯:曹凱
來源:
博客園