Немножко примеров по работе с GDI


Код:
protected override void OnPaint(PaintEventArgs e)
{
    
    Graphics g = e.Graphics;
    Pen blackPen = new Pen(Color.Black, 2);
    Font verdanaFont = new Font("Verdana", 60, FontStyle.Bold);
    
    Point[] curvePoints1 = { new Point(200, 15),
    new Point(200, 200), new Point(375, 250) };
    Point[] curvePoints2 = { new Point(0, 250),
    new Point(200, 200), new Point(375, 250) };
    Point[] curvePoints3 = { new Point(200, 15),
    new Point(200, 200), new Point(0, 250) };
    
    Point pt1 = new Point(10, 10);
    Point pt2 = new Point(30, 30);
    LinearGradientBrush lgBrush1 = new LinearGradientBrush(pt1, pt2, Color.Red, Color.Blue);
    LinearGradientBrush lgBrush2 = new LinearGradientBrush(pt1, pt2, Color.Red, Color.Green);
    LinearGradientBrush lgBrush3 = new LinearGradientBrush(pt1, pt2, Color.Blue, Color.Green);       
    
    g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
    g.SmoothingMode = SmoothingMode.AntiAlias;
    
    e.Graphics.FillPolygon(new SolidBrush(Color.PowderBlue), curvePoints1);
    e.Graphics.FillPolygon(new SolidBrush(Color.Purple), curvePoints2);
    e.Graphics.FillPolygon(new SolidBrush(Color.Navy), curvePoints3);
    
    g.DrawString("C#", verdanaFont, lgBrush1, new PointF(125, 120));
    
    g.Dispose();
}
Код:
protected override void OnPaint(PaintEventArgs pe)
{
    Graphics g = pe.Graphics;
    Rectangle rect = new Rectangle(50, 30, 100, 100);
    LinearGradientBrush lBrush = new LinearGradientBrush(rect, Color.Red, Color.Yellow, 
 LinearGradientMode.BackwardDiagonal);
    g.FillRectangle(lBrush, rect);
}
Код:
protected internal override void OnPaint(PaintEventArgs pe)
{
    Font fnt = new Font("Rosewood Std Regular", 16);        
    Graphics g = pe.Graphics;
    g.DrawString("www.CSharpCoderr.com", fnt, new SolidBrush(Color.Orange), 14, 10);
}
Код:
protected override void OnPaint(PaintEventArgs pe)
{
    Graphics g = pe.Graphics;
    g.FillRectangle(new SolidBrush(Color.White), ClientRectangle);
    GraphicsPath path = new GraphicsPath(new Point[] {
    new Point(40, 40), new Point(275, 100),
    new Point(105, 125), new Point(190, 200),
    new Point(50, 250), new Point(20, 80), },
                new byte[] {
    (byte)PathPointType.Start,
    (byte)PathPointType.Bezier,
    (byte)PathPointType.Bezier,
    (byte)PathPointType.Bezier,
    (byte)PathPointType.Line,
    (byte)PathPointType.Line,
    });
    PathGradientBrush pgb = new PathGradientBrush(path);
    pgb.SurroundColors = new Color[] { Color.Green,Color.Yellow,Color.Red, Color.Blue,
    Color.Orange, Color.White, };
    g.FillPath(pgb, path);
}

Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!