sventon subversion web client - http://www.sventon.org
[show recent changes]
 
  Help
HEAD
Rev: 10320 - svn://svn.freehep.org/svn / freehep / branches / vectorgraphics-emfplus / freehep-graphicsio-emf / Example.cs
Show File - Example.cs  [show properties]
Search for Help
spinner
using System;
using System.Drawing;
using System.Drawing.Imaging;
namespace BasicDrawingSample
{
    class EllipseDrawer
    {
        public Image Draw(int width, int height, int 
10  strokeWidth, Color strokeColor, Color fillColor)
11          {
12              // create the bitmap we will draw to
13               Image image = new Bitmap(width + strokeWidth, 
14  height + strokeWidth);
15 
16              // calculate the half of the stroke 
17  width for use later
18              float halfStrokeWidth = strokeWidth / 2F;
19 
20              // create a rectangle that bounds the 
21  ellipse we want to draw
22              RectangleF ellipseBound = new RectangleF(
23                  halfStrokeWidth, halfStrokeWidth,
24                  width, height);
25 
26              // create a Graphics object from the bitmap
27              using(Graphics graphics = 
28  Graphics.FromImage(image))
29              {
30                  // create a solid color brush
31                  using(Brush fillBrush = new 
32  SolidBrush(fillColor))
33                  {
34                      // fill the ellipse 
35  specified by the rectangle calculated above
36                       graphics.FillEllipse(fillBrush, ellipseBound);
37                  }
38 
39                  // create a pen
40                  using(Pen pen = new 
41  Pen(strokeColor, strokeWidth))
42                  {
43                      // draw the stroke of 
44  the ellipse specified by the rectangle calculated above
45                      
46  graphics.DrawEllipse(pen, ellipseBound);
47                  }
48              }
49 
50              return image;
51          }
52 
53          [STAThread]
54          static void Main(string[] args)
55          {   
56              if(args.Length != 5)
57              {
58                  Console.WriteLine("Usage: 
59  ellipseDrawer width height stroke-width stroke-color fill-color");
60              }
61              else
62              {
63                  // get values from the command 
64  line arguments
65                  int width = Int32.Parse(args[0]);
66                  int height = Int32.Parse(args[1]);
67                  int strokeWidth = Int32.Parse(args[2]);
68                  Color strokeColor = 
69  ColorTranslator.FromHtml(args[3]);
70                  Color fillColor = 
71  ColorTranslator.FromHtml(args[4]);
72 
73                  // create and instance of the 
74  EllipseDrawer
75                  EllipseDrawer ellipseDrawer = 
76  new EllipseDrawer();
77 
78                  // draw our ellipse
79                  Image image = 
80  ellipseDrawer.Draw(width, height, strokeWidth, strokeColor, 
81  fillColor);
82 
83                  // save to a file
84                  image.Save("ellipse.png", 
85  ImageFormat.Png);
86 
87                  // clean up the image resources
88                  image.Dispose();
89              }
90          }
91      }
92  }
93 


feed icon

sventon 2.5.1