Csharp/C Sharp by API/System.Drawing.Drawing2D/PenAlignment

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

PenAlignment.Center

<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Text; using System.Windows.Forms; public class Form1 : Form {

   protected override void OnPaint(PaintEventArgs e) {
       Graphics g = e.Graphics;
       Pen p = new Pen(Color.Black, 3);
       p.Alignment = PenAlignment.Center;
       g.DrawRectangle(p, 3, 3, 8, 7);
       p.Dispose();
   }
   public static void Main() {
       Application.Run(new Form1());
   }

}


 </source>


PenAlignment.Inset

<source lang="csharp"> using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms;

class GradientPen: Form {

    public static void Main()
    {
         Application.Run(new GradientPen());
    }
    public GradientPen()
    {
         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)
    {
         Brush lgbrush = new LinearGradientBrush(
                                  new Rectangle(0, 0, cx, cy), 
                                  Color.White, Color.Black,
                                  LinearGradientMode.BackwardDiagonal);
  
         Pen pen = new Pen(lgbrush, Math.Min(cx, cy) / 25);
  
         pen.Alignment = PenAlignment.Inset;
  
         grfx.DrawRectangle(pen, 0, 0, cx, cy);
         grfx.DrawLine(pen, 0, 0, cx, cy);
         grfx.DrawLine(pen, 0, cy, cx, 0);
    }

}

 </source>