FillRect Hintergrundfarbe?
-
Folgendes:
Image1->Canvas->Brush->Style = bsCross;
Image1->Canvas->Brush->Color=Red;
Image1->Canvas-> FillRect(TRect(0,0,100,100));zeichnet mir ein rotes "Netz" auf den Canvas. Leider ist die Hintergrundfarbe immer schwarz, kann man die auch irgendwie beeinflussen?
-
Ich glaube es geht so nicht, weil du praktisch dein Rechteck mit einem Muster füllst. Du solltest zuerst dein Rechteck zeichnen:
void TForm1::zeichnerechteck() { Image1->Canvas->Pen->Color=clBlack; Image1->Canvas->Brush->Color=clGreen; Image1->Canvas->Rectangle(0,0,Image1->Width,Image1->Height); }dann das Liniengitter:
void TForm1::gridzeichnen() { int r=StrToInt(Edit1->Text); Image1->Canvas->Pen->Color=clLtGray; for (int t=r; t<Image1->Width; t=r+t) { Image1->Canvas->MoveTo(t,1); Image1->Canvas->LineTo(t,Image1->Height-1); } for (int d=r; d<Image1->Height; d=r+d) { Image1->Canvas->MoveTo(1,d); Image1->Canvas->LineTo(Image1->Width-1,d); } }Ich hatte für variable Linien den Abstand mit einem Edit-Feld und UpDown-Button verknüpft.
void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button) { Edit1->Text = UpDown1->Position; zeichnerechteck(); gridzeichnen(); }Vielleicht gibt es ja noch eine andere Variante?