![]() |
canvas
hi
kann man mit canvas einen bestimmten bereich ausmalen? z.b. erst ein rechteck zeichnen und das dann ausmalen? |
Re: canvas
Ein Rechteck kannst du ganz einfach mit
Delphi-Quellcode:
füllen. Das musst du vorher nicht zeichnen.
canvas.FillRect(TRect);
Einen Bereich mit Floodfill |
Re: canvas
hab ich probiert und zwar so:
Delphi-Quellcode:
geht aber irgendwie nicht
canvas.brush.color := clblack;
canvas.FillRect(Rect(10,10,100,100)); |
Re: canvas
doch jetzt funzt es! :hello:
kann ich auch z.b. ein dreieck zeichen und ausmalen? |
Re: canvas
Bei einem Dreieck fällt mir nix anderes ein als zuerst das Dreieck zeichnen und anschliessend
Delphi-Quellcode:
Eventuell gibts da noch eine bessere Möglichkeit, aber das sollte funktionieren
canvas.FloodFill(x , y {Punkt im Dreieck}, Dreieckfarbe, fsborder);
|
Re: canvas
:hi:
Delphi-Quellcode:
var
P : array [0..2] of TPoint; begin Canvas.Brush.Color := clred; Canvas.Pen.Width := 2; Canvas.Pen.Color := clBlack; P[0] := Point(300,20); P[1] := Point(10,300); P[2] := Point(590,300); Canvas.Polygon(P); end; Delphi-Hilfe : Zitat:
|
Re: canvas
Toll, gefällt mir besser als Floodfill
:dancer: |
Re: canvas
noch ne allgemeine frage: ein panel hat kein canvas oder?
|
Re: canvas
Nein, du kannst dir aber einen Canvas erzeugen:
Delphi-Quellcode:
var Canvas: TCanvas;
begin Canvas := TCanvas.Create; try Canvas.Handle := GetDC(Panel1.Handle); // hier hast du die Canvas finally ReleaseDC(Panel1.Handle, Canvas.Handle); Canvas.Handle := 0; Canvas.Free; end; end; |
Re: canvas
thx hat gefunzt :hello: :hello: :hello:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11: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-2025 by Thomas Breitkreuz