Programmgesteuert zeichnen
-
und Dein 1.Problem (bei Image W=500, H=300) geht dann so, falls ich Dich richtig verstanden habe.
int x; Image1->Canvas->Pen->Width=5; for (x=1;x<500;x=x+10) { Image1->Canvas->MoveTo(250,300); Image1->Canvas->LineTo(x,0); }Gruß myerscola
-
danke vielmals!
würde gern noch den kreis füllen, wie geht das?
Image1->Canvas->Ellipse(150,100,350,300); Image1->Canvas->FloodFill(150,100,clRed,clRed);Funzt aber nicht!!?
-
Hi,
Linnea schrieb:
BCB-Hilfe schrieb:
Canvas, Ellipse, Color, Style (Beispiel)
Im folgenden Beispiel wird auf ein TImage-Objekt namens Image1 eine Ellipse mit Kreuzschraffur gezeichnet, wenn der Benutzer auf die Schaltfläche Button1 klickt.void __fastcall TForm1::Button1Click(TObject *Sender)
{
TCanvas *pCanvas = Image1->Canvas;
pCanvas->Brush->Color = clRed;
pCanvas->Brush->Style = bsDiagCross;
pCanvas->Ellipse(0, 0, Image1->Width, Image1->Height);
}mfg, Micha
-
ok danke...
Und wie fülle ich bestimmte Rechtecksflächen von z.B. einem Würfel?
So fülle ich nämlich nur den Quader und die anderen Seitenflächen bleiben weiß:{ Image1->Canvas->Brush->Color=clRed; Image1->Canvas->Rectangle(100,100,200,200); Image1->Canvas->MoveTo(100,100); Image1->Canvas->LineTo(130,70); Image1->Canvas->MoveTo(200,100); Image1->Canvas->LineTo(230,70); Image1->Canvas->MoveTo(230,70); Image1->Canvas->LineTo(130,70); Image1->Canvas->MoveTo(200,200); Image1->Canvas->LineTo(230,170); Image1->Canvas->MoveTo(230,170); Image1->Canvas->LineTo(230,70); }
-
ok dazu noch ne Frage:
Wie kann ich in einem Kreis mehrere Kreise reinmachen?
Also in der Mitte soll ein kleiner Kreis sein, dann soll noch ein Kreis drumherum sein, und dann noch einer und noch einer usw.
Wie geht das? Also ich soll nicht jeden Kreis einzeln machen, sondern das alles mit ner Schleife lösen!Bitte helfen! mfg
-
Wo ist das Problem? In der Schleife einfach immer wieder Ellipse aufrufen, mit jeweils angepassten Koordinaten. Du musst nur daran denken, dass Bestehendes übermalt wird, also mit dem grössten Kreis anfangen.
Und sieh zu, dass du die Hilfe installierst, langsam reicht es mit der Eierei.
-
ich verstehs einfach nicht
habs mal so..int x; for (x=1;x<500;x=x-10) { Image1->Canvas->Ellipse(150,100,350,300); Image1->Canvas->Ellipse(x,x,x,x); }funzt natürlich nicht

bitte richtig machen. Bitte!!
-
Geh die Schleife mit dem Debugger durch und sieh dir an, was mit x passiert. Und dann denk nochmal über Startwert und Abbruchbedingung deiner for-Schleife nach.
Offenbar fehlt dir das Verständnis für die grundlegendsten Prinzipien der Programmierung, ggf. solltest du erst nochmal ein Einsteigerbuch oder -tutorial durcharbeiten.
Edit:
'for-Schleife' statt 'if-Abfrage'
-
ja ich werd mich damit eh nicht mehr lang beschäftigen
und ich komm nicht drauf, kann mir keiner sagen wie der code aussehen soll? bitte
-
LoSt schrieb:
ja ich werd mich damit eh nicht mehr lang beschäftigen
Klasse Einstellung. So kommt man natürlich immer ans Ziel.
Um auf Jansen zurück zu kommen: fehlende Grundlagen!