Rectangle (x1, y1, x2, y2)→ zeichnet ein Rechteck mit einem Scheitelpunkt ausgehend vom Punkt (x1, y1) und dem gegenüberliegenden Punkt (x2, y2)
Ellipse (x1, y1, x2, y2)→ zeichnet eine Ellipse in einem durch die Punkte (x1, y1) und (x2, y2) definierten Rechteck
Wie kann man die Innenseite der Rechtecke und Ellipsen malen?
Im Canvas-Objekt, gibt es ein Objekt namens Brush (Pinsel) und ein Objekt namens Pen (Stift), beide haben Farbeigenschaften für die Fläche und die Kontur der Objekte.
Um ein Objekt in einer Farbe zu malen müssen die Eigenschaften von Bürste und Pinsel entsprechend angepasst werden.
//Setzen der Brush-Farbe auf Weiß Image1->Canvas->Brush->Color=clWhite; //Füllen des gesamten Bereiches Image1->Canvas->FillRect(Form1->Image1->Canvas->ClipRect); //Füllen des gesamten Bereiches: //selber Effekt wie oben. Image1->Canvas->FillRect(ClientRect); //Malen eines kleinen Männchen Image1->Canvas->Brush->Color= clRed; Image1->Canvas->Ellipse(195, 117, 205, 128); Image1->Canvas->Brush->Color= clBlue; Image1->Canvas->Rectangle (192, 130,208,160); Image1->Canvas->Brush->Color= clGreen; Image1->Canvas->Rectangle (187, 130,191,162); Image1->Canvas->Brush->Color= clYellow; Image1->Canvas->Rectangle (209, 130,213,162); Image1->Canvas->Brush->Color= clMaroon; Image1->Canvas->Rectangle (193,161,199,200); Image1->Canvas->Brush->Color= clPurple; Image1->Canvas->Rectangle (201,161,207,200);
Image1->Canvas->Pen->Color = clBlue; Image1->Canvas->MoveTo(10, 10); Image1->Canvas->LineTo(100, 100); Image1->Canvas->Brush->Color = clBtnFace; Image1->Canvas->Font->Name = "Arial"; Image1->Canvas->TextOut(Image1->Canvas->PenPos.x, Image1->Canvas->PenPos.y,"This is the end of the line");
//Zufallslauf von Punkten; Image1->Canvas->Brush->Color=clWhite; Image1->Canvas->FillRect(Form1->Image1->Canvas->ClipRect); int x=200,y=150; srand(time(0)); for (int i=0;i<10000 ;i++ ) { int x1=rand()%3-1; int y1=rand()%3-1; x=x+x1; y=y+y1; Image1->Canvas->Pixels[x][y]=TColor(RGB(255,0,0)); Image1->Refresh(); Sleep(1);
//Ausfüllen des gesamten Bereiches mit zufälligen Farben; srand(time(0)); for (int i=0;i<400 ;i++ ) { for (int j=0;j<300 ;j++ ) { int r=rand()%255; int g=rand()%255; int b=rand()%255; Image1->Canvas->Pixels[i][j]=TColor(RGB(r,g,b)); } }