![]() |
Zeilen Erklären
Moin,
hab da ein Problem Und zwar würde ich gerne detailiert erklärt bekommen was Pen, Brush und Rectangle genau bedeutet bzw wie man es am besten erklären kann. Vielen Dank für eure Antworten
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject); // Procedure für die Form
var i: Integer; j: Integer; w: Integer; begin if image1.Width = image1.Height then begin image1.Canvas.Pen.Color:=clBlack; image1.Canvas.Brush.Color:=clWhite; image1.Canvas.Rectangle(0,0,image1.Width,image1.Height); image1.Canvas.Brush.Color:=clBlack; |
Re: Zeilen Erklären
Pen = Stift
Brush = Pinsel Rectangle = Rechteck Sonst noch Fragen? :wink: |
Re: Zeilen Erklären
Pen: - Stift
Ist eine Klasse die bestimmte Eigenschaften hat. Pen.Color; Pen.Style; ... Brush: - Bürste / Pinsel Siehe Pen! Rectangle: Mit dieser Procedure kannst du ein Rechteck mit der Füllfarbe Brush.Color und Eckenfarbe Pen.Color zeichnen :P EDIT: Mist. Da war einer schneller MfG |
Re: Zeilen Erklären
Schau einmal hier:
![]() ![]() Da wird das alles sehr ausführlich erklärt. Die Delphi-Hilfe (F1) sollte aber auch ganz gut helfen... |
Re: Zeilen Erklären
Zitat:
Ne schöne Seite, werde ich auch mal durcharbeiten. |
Re: Zeilen Erklären
Hey Danke für die Links, gute infos.
Könnt ihr mir vielleicht in Knappen wörter die Abläufe der 4 Zeilen mal ganz genau erklären. Ich blick nicht durch warum am Anfang gezeichnet wird und dann unterschiedliche die 2 Farben gemalt werden. Sorry Blick da noch nicht ganz durch |
Re: Zeilen Erklären
Steht doch in #3
|
Re: Zeilen Erklären
Mit der einen Zeichnest du den Rahmen und mit der anderen füllst du das Rechteck
|
Re: Zeilen Erklären
Ich verstehe vor allem den Sinn dieser Zeile bei dir nicht:
Delphi-Quellcode:
Die Ausmaße des Images legst du doch selbst fest, also was bringt es diese in FormCreate abzufragen?
if image1.Width = image1.Height then
|
Re: Zeilen Erklären
Wenn die Formcreate wird geht es los. Warum sollte ich es nicht in Formcreate packen? hm :?:
|
Re: Zeilen Erklären
In FormCreate ist das Bild so groß, wie Du es zuvor festgelegt hast, eine Abfrage ist unnötig (außer Du hast uns eine Laderoutine im Vorfeld enthalten).
Delphi-Quellcode:
Bei so einfachen Dingen ist aber (r)einlesen sicher die effektivere Methode zu lernen. Erst wenn es komplizierter wird, ist vorkauen manchmal leichter verdaulich ;)
image1.Canvas.Pen.Color:=clBlack; // Stift-Farbe, bei Retangle der Rahmen
image1.Canvas.Brush.Color:=clWhite; // Pinselfarbe, bei Retangle die Füllung image1.Canvas.Rectangle(0,0,image1.Width,image1.Height); // Retangle = rechteck image1.Canvas.Brush.Color:=clBlack; // Vorbeitung auf nächstes Objekt? |
Re: Zeilen Erklären
Also Komplett sieht meine procedure FormCreate so aus.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject); // Procedure für die Form
var i: Integer; j: Integer; w: Integer; begin if image1.Width = image1.Height then begin image1.Canvas.Pen.Color:=clBlack; image1.Canvas.Brush.Color:=clWhite; image1.Canvas.Rectangle(0,0,image1.Width,image1.Height); image1.Canvas.Brush.Color:=clBlack; w:=image1.Width div 8; for i := 0 to 1 do // Für die Senkrechte Linie begin for j := 0 to 3 do // Für die waagerechte Linie / 4 blöcke / 1 block = 2zeilen begin // X1 Y1 X2 Y2 Rectangle(image1.Canvas.Handle, 0+i*w, w+j*2*w-i*w, 1*w+i*w, 2*w+j*2*w-i*w); Rectangle(image1.Canvas.Handle, 2*w+i*w, w+j*2*w-i*w, 3*w+i*w, 2*w+j*2*w-i*w); Rectangle(image1.Canvas.Handle, 4*w+i*w, w+j*2*w-i*w, 5*w+i*w, 2*w+j*2*w-i*w); Rectangle(image1.Canvas.Handle, 6*w+i*w, w+j*2*w-i*w, 7*w+i*w, 2*w+j*2*w-i*w); end; end; Form1.Top:=((Screen.Monitors[0].Height div 2)-(Form1.Height div 2)); Form1.Left:=((Screen.Monitors[0].Width div 2)-(Form1.Width div 2)); Label6.Caption := DateToStr(Date); // Datum end; end; |
Re: Zeilen Erklären
Man sollte allerdings nur in der Paint()-Methode auf dem Canvas zeichnen.
![]() |
Re: Zeilen Erklären
Aber es Stimmt diese if Abfage(Width=Hight) brauch ich nicht
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz