![]() |
DrawBox Hilfe
Hallo,
ich möchte gerne, das der Benutzer auf einem festgelegten Bereich "malen" kann. Es sollen nur einfache schwarze Striche sein. Danach soll Pixel für Pixel das gemalte mit einem vorher definierten Bild verglichen werden. Was nehme ich dafür am besten? DrawBox? Nur leider kann ich da drauf nicht malen... Der Vergleich müsste ja mit "GetPixel" funktionieren. Danke. |
Re: DrawBox Hilfe
Du könntest eine Instanz vom Typ TImage aus der Unit ExtCtrls erstellen. Darauf kannst du mit TCanvas malen, und auch die Pixelpositionen vergleichen.
|
Re: DrawBox Hilfe
Zum Selbermalen ist eine TPaintBox aber wahrscheinlich die bessere Wahl.
|
Re: DrawBox Hilfe
Zitat:
(hab noch nie damit gearbeitet, darum die Frage :mrgreen: ) |
Re: DrawBox Hilfe
TPaintBox ist schlanker und schneller als TImage.
|
Re: DrawBox Hilfe
Also ich denke Geschwindigkeit spielt in meinem Fall keine Rolle. Es sind nur sehr kleine Zeichnungen.
Jetzt ist nur die Frage wie ich es anstelle das dort wo ich hinklicke auf "gemalt" wird? |
Re: DrawBox Hilfe
Beim onClick Event.:
Delphi-Quellcode:
;
Image1.canvas.Pixels[x,y]:= clBlack
Damit kannst du dann auch überprüfen welche farbe an der Stelle x|y ist. Also so wäre es bei TImage. MfG |
Re: DrawBox Hilfe
Da dies eine Methode von TCanvas ist, ist es egal ob dieser Teil eines Images, eines Formulars oder einer Paintbox ist.
|
Re: DrawBox Hilfe
:) Vielen Dank für eure Hilfe.
Ich hab es jetzt so gelöst:
Delphi-Quellcode:
Ich kann nun auch einzelne Punkte setzen, super wäre aber wenn man auch durch gedrückt halten gleich ganze Linien zeichnen könnte.
procedure TForm1.Image1Click(Sender: TObject);
begin Image1.canvas.Pixels[xPos,yPos]:= clBlack end; procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin xPos := X; yPos := Y; end; end. Ist das auch möglich? |
Re: DrawBox Hilfe
Klar ist das möglich^^
boolean variable + if Abfrage beim mousemove event |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 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