vb.net GDI+入门——了解Font类

来源:互联网 发布:做gif的软件 编辑:程序博客网 时间:2024/02/24 04:28

Font类用于指定文本格式,就像我们在其它应用程序中设置字体、字号等。

Font的构造函数语法为:

Public sub New (byval prototype As Font,byval newstyle as FontStyle)

Font 为现有的Font对象,从该对象创建新的Font对象

FontStyle 应用于新的Font对象的FontStyle枚举,可以用or运算符将FontStyle枚举的多个值组合起来。

一、创建一个字体对象

Font对象的几个主要属性如下:

FontFamily 属性:获取与此 Font 对象关联的 FontFamily 对象,FontFamily 对象表示具有类似的字体,但字号和字形可能不同的一组字体。例如,Arial、Times New Roman 和 Verdana。

Bold 属性:指示此 Font 对象是否为粗体,如果此 Font 对象为粗体,则该属性返回 true;否则返回 false。

Italic 属性:指示此 Font 对象是否为斜体,如果此 Font 对象为斜体,则该属性返回 true;否则返回 false。

Underline 属性:指示此 Font 对象是否有下划线。

如下所示,我们创建一个Font对象,该字体为宋体,大小20,粗体、斜体加删除线:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim g As Graphics = Me.CreateGraphics

Dim mBrush As New SolidBrush(Color.Red)

Dim mFont As Font = New Font(New FontFamily("宋体"), 20, FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout)

g.DrawString("巧巧读书网", mFont, mBrush, 50.0F, 50.0F)

End Sub

运行后效果如下所示:

vb.net GDI+入门——了解Font类(图一)

二、获取当前字体的大小

我们可以通过Font对象的Height属性来获取此字体的行距(以像素为单位)。行距是两个连续文本行的基线之间的垂直距离。因此,行距包括行间的空白空间及字符本身的高度。

可以通过获取采用这个 Font 对象的单位测量出的全身大小。

在Button按钮的Click事件中加入如下所示代码:

Dim g As Graphics = Me.CreateGraphics

Dim mBrush As New SolidBrush(Color.Red)

Dim mFont As Font = New Font(New FontFamily("宋体"), 20, FontStyle.Bold Or FontStyle.Italic Or FontStyle.Strikeout)

g.DrawString("巧巧读书网", mFont, mBrush, 50.0F, 50.0F)

MessageBox.Show("字体高:" & mFont.Height.ToString & vbCr & "字体大小:" & mFont.Size.ToString)

运行后获得如下图所示结果:

vb.net GDI+入门——了解Font类(图二)

一般Font对象是用在Graphics对象的 DrawString 方法中,在对象表面绘制文字。关于 DrawString 方法我们后面再了解。