Code: |
protected override void OnPaint(PaintEventArgs e)
{ Graphics g = e.Graphics; g.Clear(Color.White); int px = this.Size.Width / 2; int py = this.Size.Height / 2; int dx = (int)(radius * Math.Sin(winkel * (Math.PI / 180))); int dy = (int)(radius * Math.Cos(winkel * (Math.PI / 180))); g.DrawLine(Pens.Black, px, py, px + dx, py + dy); g.DrawArc(Pens.Gray, px - radius, py - radius, 2 * radius, 2 * radius, 0, 360); } |
Code: |
#include <graphics.h> #include <conio.h> #include <stdio.h> int x,y; /* Initialisierung */ struct arccoordstype info1; struct arccoordstype info2; struct arccoordstype info3; struct arccoordstype info4; main() { int treiber,modus; treiber=DETECT; initgraph(&treiber,&modus,""); /* Grafik einstellen */ setbkcolor(BLACK); /* Hintergrundfarbe */ x=(getmaxx()+1)/2; y=(getmaxy()+1)/2; /* x&y Bildmitte */ setcolor(8); circle(x,y,150); /* Kreis zeichnen */ floodfill(x+20,y+20,8); arc(x,y,315,45,110); /* kl. Kreisbogen zeichnen 1/3 */ getarccoords(&info1); arc(x,y,315,45,130); /* gr. Kreisbogen zeichnen 1/3 */ getarccoords(&info2); arc(x,y,135,225,110); /* kl. Kreisbogen zeichnen 3/3 */ getarccoords(&info3); arc(x,y,135,225,130); /* gr. Kreisbogen zeichnen 3/3 */ getarccoords(&info4); arc(x,y,45,135,110); /* kl. Kreisbogen zeichnen 2/3 */ arc(x,y,45,135,130); /* kl. Kreisbogen zeichnen 2/3 */ line(info1.xstart,info1.ystart,info2.xstart,info2.ystart); line(info1.xend,info1.yend,info2.xend,info2.yend); line(info3.xstart,info3.ystart,info4.xstart,info4.ystart); line(info3.xend,info3.yend,info4.xend,info4.yend); setfillstyle(1,GREEN); floodfill(x,y-120,8); setfillstyle(1,YELLOW); floodfill(x-120,y,8); setfillstyle(1,RED); floodfill(x+120,y,8); setfillstyle(1,8); /* F?llmuster + farbe festlegen */ sector(x,y,0,360,5,5); /* Sektor zeichen und f?llen ACHTUNG FEHLER IM DER SPRACHBESCHREIBUNG */ getch(); closegraph(); } |