[Mono-list] little try to redraw the Mono-Logo ... for Mono-List-Archive-Readers
Freddy BL
freddy_bl@hotmail.com
Wed, 11 Sep 2002 09:28:46 +0000
Uuups. I now have seen, that the attachment which I have send in the archive
under
http://lists.ximian.com/archives/public/mono-list/2002-September/002011.html
in a encrypted form is, so that only people, who becomes the
mailing-list-mails in its mailbox can see what I have send. :-(
So, here is it again - for everyone!
------------------------------
// this program draws in vector-graphic the logo of mono
// licensed under the MIT-X11-license
using System.Windows.Forms;
using System.Drawing;
public class MainClass
{
public static void Main(string[] args)
{
HeadWindow myHW = new HeadWindow();
Application.Run(myHW);
}
}
public class HeadWindow : Form {
public HeadWindow() {
this.Text = "MonoHead in vector-graphic";
this.Size = new Size(600,700);
this.BackColor = Color.Black;
}
protected override void OnPaint(PaintEventArgs pe) {
Pen greenPen = new Pen(Color.Green);
Pen redPen = new Pen(Color.Red);
// for the Monkey-Head
float x=15, y=15;
float size=1.5F; // 1.5F;
float sizex=size, sizey=size;
// for the "mono::"-logo
float mx=x+20F, my=y+530F;
float msize=size*1.0F;
float msizex=msize, msizey=msize;
// CROSS FOR POSITION (not part of head)
pe.Graphics.DrawLine(greenPen, x-3, y, x+3, y);
pe.Graphics.DrawLine(greenPen, x, y-3, x, y+3);
// CORNER
pe.Graphics.DrawArc(redPen, x , y , 40*sizex,
40*sizey, 180F, 90F); // left top
pe.Graphics.DrawArc(redPen, x+295*sizex, y , 40*sizex,
40*sizey, 270F, 90F); // right top
pe.Graphics.DrawArc(redPen, x+295*sizex, y+295*sizey, 40*sizex,
40*sizey, 0F, 90F); // right bottom
// FRAME
pe.Graphics.DrawLine(redPen, x+ 20*sizex, y , x+315*sizex, y
); // top
pe.Graphics.DrawLine(redPen, x , y+ 20*sizey, x ,
y+132*sizey); // left
pe.Graphics.DrawLine(redPen, x+ 27*sizex, y+335*sizey, x+315*sizex,
y+335*sizey); // bottom
pe.Graphics.DrawLine(redPen, x+335*sizex, y+ 20*sizey, x+335*sizex,
y+315*sizey); // right
// NECK
pe.Graphics.DrawLine(redPen, x , y+132*sizey, x+ 67*sizex,
y+113*sizey); // nape
pe.Graphics.DrawLine(redPen, x+ 67*sizex, y+113*sizey, x+109*sizex,
y+131*sizey); // neck under the ears
pe.Graphics.DrawLine(redPen, x+ 27*sizex, y+335*sizey, x+ 98*sizex,
y+248*sizey); // throat
// EAR
pe.Graphics.DrawBezier(redPen, x+ 63*sizex, y+ 42*sizey, x+ 13*sizex, y+
90*sizey, x+ 74*sizex, y+113*sizey, x+109*sizex, y+131*sizey); // the
main-ear
pe.Graphics.DrawLine(redPen, x+ 63*sizex, y+ 42*sizey, x+142*sizex, y+
52*sizey); // the top
pe.Graphics.DrawLine(redPen, x+100*sizex, y+ 44*sizey, x+142*sizex, y+
52*sizey); // shaddow of the top
// TOP OF THE HEAD
pe.Graphics.DrawBezier(redPen, x+100*sizex, y+ 44*sizey, x+121*sizex, y+
25*sizey, x+230*sizex, y+ 40*sizey, x+251*sizex, y+ 55*sizey); // skullpan
pe.Graphics.DrawBezier(redPen, x+251*sizex, y+ 55*sizey, x+272*sizex,
y+100*sizey, x+274*sizex, y+128*sizey, x+265*sizex, y+135*sizey); //
forehead
// EYE
pe.Graphics.DrawBezier(redPen, x+206*sizex, y+124*sizey, x+255*sizex,
y+135*sizey, x+263*sizex, y+135*sizey, x+265*sizex, y+135*sizey); //
eyebrows
pe.Graphics.DrawLine(redPen, x+209*sizex, y+125*sizey, x+253*sizex,
y+139*sizey); // bottom part
// MOUTH
pe.Graphics.DrawBezier(redPen, x+253*sizex, y+139*sizey, x+270*sizex,
y+190*sizey, x+273*sizex, y+216*sizey, x+263*sizex, y+252*sizey); // nose
pe.Graphics.DrawBezier(redPen, x+198*sizex, y+194*sizey, x+213*sizex,
y+215*sizey, x+240*sizex, y+240*sizey, x+263*sizex, y+252*sizey); // top-lip
pe.Graphics.DrawBezier(redPen, x+198*sizex, y+194*sizey, x+217*sizex,
y+230*sizey, x+236*sizex, y+248*sizey, x+261*sizex, y+260*sizey); //
bottom-lip
pe.Graphics.DrawBezier(redPen, x+261*sizex, y+260*sizey, x+254*sizex,
y+277*sizey, x+252*sizex, y+286*sizey, x+238*sizex, y+308*sizey); //
main-chin
pe.Graphics.DrawLine(redPen, x+ 98*sizex, y+248*sizey, x+238*sizex,
y+308*sizey); // bottom-chin
// CROSS FOR POSITION (not part of "mono::"-logo)
pe.Graphics.DrawLine(greenPen, mx-2, my, mx+2, my);
pe.Graphics.DrawLine(greenPen, mx, my-2, mx, my+2);
// m
pe.Graphics.DrawArc(redPen, mx , my , 13*msizex,
12*msizey, 180F, 180F);
pe.Graphics.DrawArc(redPen, mx , my+ 41*msizey, 14*msizex,
13*msizey, 0F, 180F);
pe.Graphics.DrawArc(redPen, mx+ 30*msizex, my+ 41*msizey, 14*msizex,
13*msizey, 0F, 180F);
pe.Graphics.DrawArc(redPen, mx+ 60*msizex, my+ 41*msizey, 14*msizex,
13*msizey, 0F, 180F);
pe.Graphics.DrawLine(redPen, mx , my+ 6*msizey, mx
, my+ 48*msizey);
pe.Graphics.DrawBezier(redPen, mx+ 14*msizex, my+ 24*msizey, mx+
18*msizex, my+ 7*msizey, mx+ 30*msizex, my+ 7*msizey, mx+ 30*msizex, my+
24*msizey);
pe.Graphics.DrawLine(redPen, mx+ 14*msizex, my+ 24*msizey, mx+
14*msizex, my+ 48*msizey);
pe.Graphics.DrawLine(redPen, mx+ 30*msizex, my+ 24*msizey, mx+
30*msizex, my+ 48*msizey);
pe.Graphics.DrawBezier(redPen, mx+ 44*msizex, my+ 24*msizey, mx+
48*msizex, my+ 7*msizey, mx+ 60*msizex, my+ 7*msizey, mx+ 60*msizex, my+
24*msizey);
pe.Graphics.DrawLine(redPen, mx+ 44*msizex, my+ 24*msizey, mx+
44*msizex, my+ 48*msizey);
pe.Graphics.DrawLine(redPen, mx+ 60*msizex, my+ 24*msizey, mx+
60*msizex, my+ 48*msizey);
pe.Graphics.DrawLine(redPen, mx+ 13*msizex, my+ 6*msizey, mx+
13*msizex, my+ 8*msizey);
pe.Graphics.DrawBezier(redPen, mx+ 13*msizex, my+ 8*msizey, mx+
23*msizex, my- 3*msizey, mx+ 34*msizex, my- 3*msizey, mx+ 43*msizex, my+
8*msizey);
pe.Graphics.DrawBezier(redPen, mx+ 43*msizex, my+ 8*msizey, mx+
51*msizex, my- 3*msizey, mx+ 70*msizex, my- 3*msizey, mx+ 74*msizex, my+
13*msizey);
pe.Graphics.DrawLine(redPen, mx+ 74*msizex, my+ 13*msizey, mx+
74*msizex, my+ 48*msizey);
// o
pe.Graphics.DrawEllipse(redPen, mx+ 83*msizex, my , 53*msizex,
54*msizey);
pe.Graphics.DrawEllipse(redPen, mx+ 97*msizex, my+ 11*msizey, 25*msizex,
32*msizey);
// n
pe.Graphics.DrawArc(redPen, mx+144*msizex, my , 13*msizex,
12*msizey, 180F, 180F);
pe.Graphics.DrawArc(redPen, mx+144*msizex, my+ 41*msizey, 14*msizex,
13*msizey, 0F, 180F);
pe.Graphics.DrawArc(redPen, mx+177*msizex, my+ 41*msizey, 14*msizex,
13*msizey, 0F, 180F);
pe.Graphics.DrawLine(redPen, mx+144*msizex, my+ 6*msizey,
mx+144*msizex, my+ 48*msizey);
pe.Graphics.DrawBezier(redPen, mx+158*msizex, my+ 24*msizey,
mx+162*msizex, my+ 7*msizey, mx+177*msizex, my+ 7*msizey, mx+177*msizex,
my+ 24*msizey);
pe.Graphics.DrawLine(redPen, mx+158*msizex, my+ 24*msizey,
mx+158*msizex, my+ 48*msizey);
pe.Graphics.DrawLine(redPen, mx+177*msizex, my+ 24*msizey,
mx+177*msizex, my+ 48*msizey);
pe.Graphics.DrawLine(redPen, mx+157*msizex, my+ 6*msizey,
mx+157*msizex, my+ 8*msizey);
pe.Graphics.DrawBezier(redPen, mx+157*msizex, my+ 8*msizey,
mx+165*msizex, my- 3*msizey, mx+187*msizex, my- 3*msizey, mx+191*msizex,
my+ 13*msizey);
pe.Graphics.DrawLine(redPen, mx+191*msizex, my+ 13*msizey,
mx+191*msizex, my+ 48*msizey);
// o
pe.Graphics.DrawEllipse(redPen, mx+200*msizex, my , 53*msizex,
54*msizey);
pe.Graphics.DrawEllipse(redPen, mx+214*msizex, my+ 11*msizey, 25*msizex,
32*msizey);
// ::
pe.Graphics.DrawEllipse(redPen, mx+263*msizex, my , 15*msizex,
15*msizey);
pe.Graphics.DrawEllipse(redPen, mx+293*msizex, my , 15*msizex,
15*msizey);
pe.Graphics.DrawEllipse(redPen, mx+263*msizex, my+ 39*msizey, 15*msizex,
15*msizey);
pe.Graphics.DrawEllipse(redPen, mx+293*msizex, my+ 39*msizey, 15*msizex,
15*msizey);
}
}
_________________________________________________________________
Mit MSN Fotos können Sie kinderleicht Ihre Fotos ausdrucken und Freunden zur
Verfügung stellen: http://photos.msn.de