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

Материал из .Net Framework эксперт
Версия от 15:10, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

CustomLineCap.BaseInset

<source lang="csharp"> /* GDI+ Programming in C# and VB .NET by Nick Symmonds Publisher: Apress ISBN: 159059035X

  • /

using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; namespace CustomCap_c {

   public class CustomCap : System.Windows.Forms.Form
   {
       public CustomCap()
       {
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 273);
     this.Name = "CustomCap";
     this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
     this.Text = "CustomCap";
     this.Load += new System.EventHandler(this.CustomCap_Load);
   }
       static void Main() 
       {
           Application.Run(new CustomCap());
       }
   private void CustomCap_Load(object sender, System.EventArgs e)
   {
   }
   protected override void OnPaint ( PaintEventArgs e )
   {
     Graphics G = e.Graphics;
     Pen P = new Pen(Color.Blue, 1 );
     Point[] Pts = { new Point( 10, 10 ),
                     new Point( 15, 10 ),
                     new Point( 20, 15 ),
                     new Point( 20, 20 ),
                     new Point( 15, 25 ),
                     new Point( 10, 25 ),
                     new Point( 5, 20 ),
                     new Point( 5, 15 ),
                     new Point( 10, 10 )};
     GraphicsPath Path = new GraphicsPath();
     Path.AddLines (Pts);
     G.SmoothingMode=SmoothingMode.AntiAlias;
     CustomLineCap Lc = new CustomLineCap( null, Path );
     Lc.BaseInset=0;
     Lc.WidthScale=1;
     Lc.StrokeJoin=LineJoin.Miter;
     P.CustomEndCap = Lc;
     P.CustomStartCap=Lc;
     G.DrawLine ( P, 50, 150, 200, 150 );
     G.DrawLine ( P, 150, 50, 150, 200 );
     Lc.Dispose();
     Path.Dispose();
     P.Dispose();
   }
   }

}

 </source>