Csharp/C Sharp/2D Graphics/Hatch Brush
Содержание
- 1 Hatch Brush: cross
- 2 HatchBrush: HatchStyle DashedHorizontal
- 3 HatchBrush: HatchStyle LargeCheckerBoard
- 4 HatchBrush: HatchStyle Plaid
- 5 HatchBrush: HatchStyle ZigZag
- 6 Hatch Brush Rendering Origin
- 7 Hatch Brush Style: WideUpwardDiagonal
- 8 List all Hatch Brush styles
- 9 Overlapping Hatch Brushes
- 10 Use HatchBrush to draw String
Hatch Brush: cross
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Text = "Pen Cap App"; this.Resize += new System.EventHandler(this.Form1_Resize); this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; HatchBrush hb = new HatchBrush(HatchStyle.Cross,Color.White,Color.Black); g.FillRectangle(hb, this.ClientRectangle); hb.Dispose(); } private void Form1_Resize(object sender, System.EventArgs e) { Invalidate(); } } </source>
HatchBrush: HatchStyle DashedHorizontal
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw, true); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(211, 104); this.Text = ""; this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; HatchBrush hb = new HatchBrush(HatchStyle.DashedHorizontal,Color.AntiqueWhite ,Color.Black); g.FillEllipse(hb,30, 30, Width-50, 30); } } </source>
HatchBrush: HatchStyle LargeCheckerBoard
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw, true); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(211, 104); this.Text = ""; this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; HatchBrush hb = new HatchBrush(HatchStyle.LargeCheckerBoard,Color.AntiqueWhite ,Color.Black); g.FillEllipse(hb,30, 30, Width-50, 30); } }
</source>
HatchBrush: HatchStyle Plaid
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw, true); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(211, 104); this.Text = ""; this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; HatchBrush hb = new HatchBrush(HatchStyle.Plaid, Color.AntiqueWhite ,Color.Black); g.FillEllipse(hb,30, 30, Width-50, 30); } }
</source>
HatchBrush: HatchStyle ZigZag
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw, true); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(211, 104); this.Text = ""; this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; HatchBrush hb = new HatchBrush(HatchStyle.ZigZag,Color.AntiqueWhite ,Color.Black); g.FillEllipse(hb,30, 30, Width-50, 30); } } </source>
Hatch Brush Rendering Origin
<source lang="csharp"> using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms;
class HatchBrushRenderingOrigin: Form {
public static void Main() { Application.Run(new HatchBrushRenderingOrigin()); } public HatchBrushRenderingOrigin() { ResizeRedraw = true; } protected override void OnPaint(PaintEventArgs pea) { DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height); } protected void DoPage(Graphics grfx, Color clr, int cx, int cy) { HatchBrush hbrush = new HatchBrush(HatchStyle.HorizontalBrick, Color.White); for (int i = 0; i < 10; i++) { grfx.RenderingOrigin = new Point(i * cx / 10, i * cy / 10); grfx.FillRectangle(hbrush, i * cx / 10, i * cy / 10, cx / 8, cy / 8); } }
}
</source>
Hatch Brush Style: WideUpwardDiagonal
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Text = "Pen Cap App"; this.Resize += new System.EventHandler(this.Form1_Resize); this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.White, this.ClientRectangle); HatchBrush hb = new HatchBrush( HatchStyle.WideUpwardDiagonal, Color.White, Color.Black); Pen hp = new Pen(hb, 20); g.DrawRectangle(hp, 15, 15, 200, 200); hb.Dispose(); hp.Dispose(); } private void Form1_Resize(object sender, System.EventArgs e) { Invalidate(); } }
</source>
List all Hatch Brush styles
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; int yOffSet = 10; Array obj = Enum.GetValues(typeof(HatchStyle)); for(int i = 0; i < 10; i++) { HatchStyle temp = (HatchStyle)obj.GetValue(i); HatchBrush theBrush = new HatchBrush(temp, Color.White, Color.Black); g.DrawString(temp.ToString(), new Font("Times New Roman", 10), new SolidBrush(Color.Black), 0, yOffSet); g. FillEllipse(theBrush, 150, yOffSet, 200, 25); yOffSet += 40; } } }
</source>
Overlapping Hatch Brushes
<source lang="csharp"> using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms;
class OverlappingHatchBrushes: Form {
public static void Main() { Application.Run(new OverlappingHatchBrushes()); } public OverlappingHatchBrushes() { ResizeRedraw = true; } protected override void OnPaint(PaintEventArgs pea) { DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height); } protected void DoPage(Graphics grfx, Color clr, int cx, int cy) { HatchBrush hbrush = new HatchBrush(HatchStyle.HorizontalBrick, Color.White); for (int i = 0; i < 10; i++) grfx.FillRectangle(hbrush, i * cx / 10, i * cy / 10, cx / 8, cy / 8); }
}
</source>
Use HatchBrush to draw String
<source lang="csharp">
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; using System.Drawing.Imaging; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Text = ""; this.Resize += new System.EventHandler(this.Form1_Resize); this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.White, this.ClientRectangle); Font f = new Font("Times New Roman", 48, FontStyle.Bold); HatchBrush hb = new HatchBrush(HatchStyle.Cross, Color.White, Color.Black); g.DrawString("www.nfex.ru", f, hb, 0, 0); f.Dispose(); } private void Form1_Resize(object sender, System.EventArgs e) { Invalidate(); } } </source>