Introduction#
HatchBrush為.NET所提供的Brush類別,提供使用者 54 種系統筆刷樣式。
Constructer#
HatchBrush基本上用法跟一般的Brush一樣,多半我們只需了解建構子即可。HatchBrush內建兩個多載建構子,只要傳入HatchStyle、前景色、背景色,HatchBrush筆刷物件即可完成建置。
![[VB.NET]HatchBrush](/images/posts/8856/image_thumb_54.png)
HatchStyle 列舉型別#
指定 HatchBrush 物件可用的不同花紋。
| 成員名稱 | 說明 | 圖示 |
| Horizontal | 水平線花紋。 |  |
| Vertical | 垂直線花紋。 |  |
| ForwardDiagonal | 從左上到右下的斜線線條花紋。 |  |
| BackwardDiagonal | 從右上到左下的斜線線條花紋。 |  |
| Cross | 指定交叉的水平和垂直線條。 | |
| DiagonalCross | 十字形對角線的模式。 |  |
| Percent05 | 指定百分之 5 的規劃。前景色彩與背景色彩的比例為 5:100。 |  |
| Percent10 | 指定百分之 10 的規劃。前景色彩與背景色彩的比例為 10:100。 |  |
| Percent20 | 指定百分之 20 的規劃。前景色彩與背景色彩的比例為 20:100。 |  |
| Percent25 | 指定百分之 25 的規劃。前景色彩與背景色彩的比例為 25:100。 |  |
| Percent30 | 指定百分之 30 的規劃。前景色彩與背景色彩的比例為 30:100。 |  |
| Percent40 | 指定百分之 40 的規劃。前景色彩與背景色彩的比例為 40:100。 |  |
| Percent50 | 指定百分之 50 的規劃。前景色彩與背景色彩的比例為 50:100。 |  |
| Percent60 | 指定百分之 60 的規劃。前景色彩與背景色彩的比例為 60:100。 |  |
| Percent70 | 指定百分之 70 的規劃。前景色彩與背景色彩的比例為 70:100。 |  |
| Percent75 | 指定百分之 75 的規劃。前景色彩與背景色彩的比例為 75:100。 |  |
| Percent80 | 指定百分之 80 的規劃。前景色彩與背景色彩的比例為 80:100。 |  |
| Percent90 | 指定百分之 90 的規劃。前景色彩與背景色彩的比例為 90:100。 |  |
| LightDownwardDiagonal | 指定從頂點到底點往右斜的對角線,其間距比 ForwardDiagonal 接近百分之 50,但是沒有反鋸齒。 |  |
| LightUpwardDiagonal | 指定從頂點到底點往左斜的斜線,間距比 BackwardDiagonal 相互接近百分之 50,但是沒有反鋸齒補償。 |  |
| DarkDownwardDiagonal | 指定從頂點到底點往右斜的斜線,間距比 ForwardDiagonal 相互接近百分之 50,並且寬度為其兩倍。這個規劃花紋沒有反鋸齒補償。 |  |
| DarkUpwardDiagonal | 指定從頂點到底點往左斜的斜線,間距比 BackwardDiagonal 相互接近百分之 50,並且寬度為其兩倍,但是線條沒有反鋸齒補償。 |  |
| WideDownwardDiagonal | 指定從頂點到底點往右斜的斜線,間距與 ForwardDiagonal 規劃樣式相同,並且寬度為其三倍,但是沒有反鋸齒補償。 |  |
| WideUpwardDiagonal | 指定從頂點到底點往左斜的斜線,間距與 BackwardDiagonal 規劃樣式相同,並且寬度為其三倍,但是沒有反鋸齒補償。 |  |
| LightVertical | 指定間距比 Vertical 相互接近百分之 50 的垂直線。 |  |
| LightHorizontal | 指定間距比 Horizontal 相互接近百分之 50 的水平線。 |  |
| NarrowVertical | 指定間距比 Vertical 規劃樣式相互接近百分之 75 (或比 LightVertical 相互接近百分之 25) 的垂直線。 |  |
| NarrowHorizontal | 指定間距比 Horizontal 規劃樣式相互接近百分之 75 (或比 LightHorizontal 相互接近百分之 25) 的水平線。 |  |
| DarkVertical | 指定間距比 Vertical 相互接近百分之 50 並且寬度為其兩倍的垂直線。 |  |
| DarkHorizontal | 指定水平線,其間距比 Horizontal 接近百分之 50,且寬度為 Horizontal 的兩倍。 |  |
| DashedDownwardDiagonal | 指定從頂點到底點向右斜的短折斜線。 |  |
| DashedUpwardDiagonal | 指定從頂點到底點向左斜的短折斜線。 |  |
| DashedHorizontal | 指定短折水平線。 |  |
| DashedVertical | 指定短折垂直線。 |  |
| SmallConfetti | 指定具有五彩碎紙外觀的規劃。 |  |
| LargeConfetti | 指定具有五彩碎紙外觀並且由比 SmallConfetti 更大的碎紙組成的規劃。 |  |
| ZigZag | 指定由 Z 字形組成的水平線。 |  |
| Wave | 指定由波狀符號 (~) 組成的水平線。 |  |
| DiagonalBrick | 指定具有從頂點到底點向左斜的層次磚形外觀之規劃。 |  |
| HorizontalBrick | 指定具有水平層次磚形外觀的規劃。 |  |
| Weave | 指定具有編織材質外觀的規劃。 |  |
| Plaid | 指定具有格子圖案材質外觀的規劃。 |  |
| Divot | 指定具有草皮外觀的規劃。 |  |
| DottedGrid | 指定交叉的水平虛線和垂直虛線。 |  |
| DottedDiamond | 指定交叉的正斜虛線和反斜虛線。 |  |
| Shingle | 指定規劃之圖樣,其外觀為從頂點到底點向右斜的對角層次木瓦。 |  |
| Trellis | 指定具有格子外觀的規劃。 |  |
| Sphere | 指定具有相鄰置放的球體外觀之規劃。 |  |
| SmallGrid | 指定間距比 Cross 規劃樣式相互接近百分之 50 的交叉水平線和垂直線。 |  |
| SmallCheckerBoard | 指定具有棋盤外觀的規劃。 |  |
| LargeCheckerBoard | 指定具有方格大小為 SmallCheckerBoard 兩倍的棋盤外觀之規劃。 |  |
| OutlinedDiamond | 指定交叉但是沒有反鋸齒補償的正斜線和反斜線。 |  |
| SolidDiamond | 指定具有斜對置放的棋盤外觀之規劃。 |  |
| LargeGrid | 指定 Cross 規劃樣式。 | |
| Min | 指定 Horizontal 規劃樣式。 | |
| Max | 指定 SolidDiamond 規劃樣式。 | |
程式範例#
VB.NET
Imports System.Drawing.Drawing2D
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
FlowLayoutPanel1.Controls.Clear()
For Each styleIdx As Integer In [Enum].GetValues(GetType(HatchStyle))
Dim style As HatchStyle = CType(styleIdx, HatchStyle)
Dim brush As New HatchBrush(style, Color.Green, Color.Black)
Dim p As New PictureBox
Dim bmp As New Bitmap(50, 50)
Dim g As Graphics
g = Graphics.FromImage(bmp)
g.FillEllipse(brush, 0, 0, bmp.Width, bmp.Height)
p.Image = bmp
p.SizeMode = PictureBoxSizeMode.AutoSize
ToolTip1.SetToolTip(p, style.ToString)
FlowLayoutPanel1.Controls.Add(p)
Next
End Sub
End Class
執行結果
![[VB.NET]HatchBrush](/images/posts/8856/image_thumb.png)