Hexagon Gradient Brush : Brush « 2D Graphics « C# / C Sharp






Hexagon Gradient Brush

 

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
   
class HexagonGradientBrush: Form
{
     const float fSide = 50;       // Side (also radius) of hexagon
   
     public static void Main()
     {
          Application.Run(new HexagonGradientBrush());
     }
     public HexagonGradientBrush()
     {
          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)
     {
          float fHalf = fSide * (float) Math.Sin(Math.PI / 3); 
          
          PointF[] aptf = {new PointF( fSide,         0),           
                           new PointF( fSide * 1.5f,  0),
                           new PointF( fSide,         0),           
                           new PointF( fSide / 2,    -fHalf),
                           new PointF(-fSide / 2,    -fHalf),
                           new PointF(-fSide,         0),
                           new PointF(-fSide * 1.5f,  0), 
                           new PointF(-fSide,         0),
                           new PointF(-fSide / 2,     fHalf),     
                           new PointF( fSide / 2,     fHalf) };
   
          PathGradientBrush pgbrush1 =  new PathGradientBrush(aptf, WrapMode.Tile);
   
          for (int i = 0; i < aptf.Length; i++)
          {
               aptf[i].X += fSide * 1.5f;
               aptf[i].Y += fHalf;
          }
          PathGradientBrush pgbrush2 = 
                              new PathGradientBrush(aptf, WrapMode.Tile);
   
          grfx.FillRectangle(pgbrush1, 0, 0, cx, cy);
          grfx.FillRectangle(pgbrush2, 0, 0, cx, cy);
     }
}

 








Related examples in the same category

1.Brushes.Black
2.Solid brush demoSolid brush demo
3.Use Brushes.BlueViolet ro draw a PolygonUse Brushes.BlueViolet ro draw a Polygon
4.Use Brushes.Aquamarine to draw a EllipseUse Brushes.Aquamarine to draw a Ellipse
5.Use Brush to draw a RectangleUse Brush to draw a Rectangle
6.Gradient brush demoGradient brush demo
7.illustrates filling shapes with a brushillustrates filling shapes with a brush
8.Brush StyleBrush Style
9.Hatch Brush StylesHatch Brush Styles