Csharp/C Sharp by API/System.Drawing.Drawing2D/PenAlignment
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>