Csharp/C Sharp/2D Graphics/Hatch Brush
Версия от 15:31, 26 мая 2010; (обсуждение)
Содержание
- 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
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();
}
}
HatchBrush: HatchStyle DashedHorizontal
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);
}
}
HatchBrush: HatchStyle LargeCheckerBoard
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);
}
}
HatchBrush: HatchStyle Plaid
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);
}
}
HatchBrush: HatchStyle ZigZag
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);
}
}
Hatch Brush Rendering Origin
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);
}
}
}
Hatch Brush Style: WideUpwardDiagonal
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();
}
}
List all Hatch Brush styles
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;
}
}
}
Overlapping Hatch Brushes
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);
}
}
Use HatchBrush to draw String
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();
}
}