如何實(shí)現(xiàn)VB.NET文字寬度計(jì)算
作者:佚名
初學(xué)者可以通過我們介紹的VB.NET文字寬度計(jì)算的相關(guān)應(yīng)用方法,來增強(qiáng)自己的代碼編寫能力,從而提高對(duì)VB.NET的認(rèn)知程度。
VB.NET開發(fā)工具為我們帶來了非常大的驚喜。各種新的功能特點(diǎn)大大吸引了開發(fā)人員的眼球。下面我們就可以通過一段對(duì)于VB.NET文字寬度計(jì)算的代碼實(shí)現(xiàn)方式來對(duì)此進(jìn)行深入的解讀,了解其應(yīng)用技巧。#t#
VB.NET文字寬度計(jì)算的代碼示例:
- '被表示的文字列
- Dim s As String =
"我是全哥,歡迎!" - 'PictureBox1的Graphics對(duì)象取得
- Dim g As Graphics =
PictureBox1.CreateGraphics() - '字體對(duì)象作成
- Dim fnt As New Font("宋體", 20)
- 'StringFormat對(duì)象作成
- Dim sf As New StringFormat
- '描繪文字列
- g.DrawString(s, fnt, Brushes.Black,
0, 0, sf) - '設(shè)定寬度為1000像素,文字列描繪時(shí)計(jì)算大小
- Dim stringSize As SizeF =
g.MeasureString(s, fnt, 1000, sf) - '取得的文字列的大小使用矩形描繪
- g.DrawRectangle(Pens.Red, 0, 0,
stringSize.Width, stringSize.Height)
- '測(cè)量"BINGNING"和"NET"的大小
- '測(cè)量指定文字列的范圍
- 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數(shù)組
- 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文字寬度計(jì)算相關(guān)操作方法就為大家介紹到這里。
責(zé)任編輯:曹凱
來源:
博客園