![]() |
Farbe per maus ermitteln und dann Punkt machen
Hallo. ich will per Mausklick ermitteln, ob eine Linie Blau ist und wenn ja, dann soll man dort einen Punkt machen. meine vorüberlegungen sind wie folgt:
Delphi-Quellcode:
es erscheint immer die Meldung 'Du musst auf der Startlinie Starten' also denk ich, dass irgendwas mit der ermittlung des Pixels zu tuen hat.
procedure TForm1.mousedown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; Xm, Ym: Integer);
var s1c,s2c :=TColor; wid,x1,x2,y1,y2:integer; begin if Bitmap.Canvas.Pixels[xm,ym]<> clblue then begin showmessage('Du musst auf der Startlinie Starten'); end else if wid = 1 then begin x1:=xm; y1:=ym; Image.Canvas.Pen.width:=4; Image.Canvas.Pixels[x1,y1]:=s1c; end else begin x2:=xm; y2:=ym; Image.Canvas.Pen.width:=4; Image.Canvas.Pixels[x1,y1]:=s2c; end; end; es wäre toll, wenn ihr mir helfen könntet. MfG Cloud |
Re: Farbe per maus ermitteln und dann Punkt machen
Hi,
ist die Farbe, die Du anklickst auch wirklich clBlue? Die kleinste Abweichung und es funktioniert nicht mehr. [edit] Wie soll das ganze eig. funktionieren? Wo gibst Du einen Wert für wid an? Was willst Du mit dem Konstrukt:
Delphi-Quellcode:
erreichen?
var s1c,s2c :=TColor;
Warum hier der Weg über extra Variablen:
Delphi-Quellcode:
kannst doch direkt auf xm und ym zugreifen.
x1:=xm;
y1:=ym; Image.Canvas.Pen.width:=4; Image.Canvas.Pixels[x1,y1]:=s1c; |
Re: Farbe per maus ermitteln und dann Punkt machen
Was ist denn Bitmap und wo "liegt" die?
[edit] Außerdem initialisierst Du Deine Variablen nicht (alle) [/edit] |
Re: Farbe per maus ermitteln und dann Punkt machen
hab euch nur nen kleinen Teil des gesamten codes gegeben :P
und euch dann halt die Variabeln da deklariert also x1:=xm y1:=ym sind die koordinaten des späteren punkts der dann noch bewegt wird. Bitmap ist das Bild das geladen wird und dann auch die Fläche auf der alles statt findet in nem image und jetzt mal zu ob das wirklich blau ist ich hab im Zeichen Programm hexcode 0000FF angegeben ist doch Blau...? |
Re: Farbe per maus ermitteln und dann Punkt machen
Zitat:
|
Re: Farbe per maus ermitteln und dann Punkt machen
in ein Image wirds geladen
und ich glaub ich habs auch also ich war nur zu doof zu treffen :D aber jetzt hab ich ne weiter frage kann man in einer datei auch variabeln abspeichern welche dann beim laden mit geladen werden? |
Re: Farbe per maus ermitteln und dann Punkt machen
Neue Frage, neuer Thread bitte und: ja, natürlich.
|
Re: Farbe per maus ermitteln und dann Punkt machen
Zitat:
![]() |
Re: Farbe per maus ermitteln und dann Punkt machen
Ist das das MouseDown der Form?
Wenn ja beziehen sich die Angaben X und Y relativ zum linken und oberen Rand der Form, nicht des Images! Darum kannst du die auch nicht direkt als Pixel[X, Y] verwenden, sonder musst noch den Offset des Images einrechnen (Pixel[X + Left, Y + Top]) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02: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-2025 by Thomas Breitkreuz