Pixelfarbe ermitteln

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Jim92
Beiträge: 24
Registriert: Sa 29. Jan 2011, 13:09

Pixelfarbe ermitteln

Beitrag von Jim92 »

Moinsen

Vor kurzem war mir etwas langweilig und da hatte ich die (zugegeben dumme) Idee, mir doch einfach mal mein eigenes Paint zu programmieren. Hab dann auch gleich angefangen, schön alles durchdacht und eingehämmert. Läuft schon ganz gut, aber eine Sache bereitet mir doch ziemliches Kopfzerbrechen:

Im Originalen Paint gibt es die Möglichkeit mit Hilfe der virtuellen Pipette die Farbe eines Pixels aufzunehmen (denk mal jeder weiß was ich meine). Wie lässt sich das in Lazarus am besten machen? Also könnte mir jetzt vorstellen, dass das etwa so aussieht:

Code: Alles auswählen

var
mFarbe: TColor;
mXY: TPoint;
 
mXY:=Mouse.Cursor.Position; //erhebe keinen Anspruch auf Richtigkeit
mFarbe:=ErmittleFarbeAtPoint(mXY) ;//Hier ist dann der Wurm drin
Hab jetzt schon einige Zeit gesucht, bin aber nicht wirklich fündig geworden (entweder bin ich zu doof oder es hat sich noch keiner Gedanken drüber gemacht).
Könnte mir da bitte jemand helfen?

Danke und Grußels
Jim

Benutzeravatar
theo
Beiträge: 10867
Registriert: Mo 11. Sep 2006, 19:01

Re: Pixelfarbe ermitteln

Beitrag von theo »

Wie wärs mit

Code: Alles auswählen

Canvas.Pixels[x,y];

creed steiger
Beiträge: 958
Registriert: Mo 11. Sep 2006, 22:56

Re: Pixelfarbe ermitteln

Beitrag von creed steiger »

Wenn du dich tiefergehend mit sowas beschäftigen willst ist das hier
http://www.lazarus.freepascal.org/index ... 037.0.html" onclick="window.open(this.href);return false;
bstimmt interessant für dich.

Jim92
Beiträge: 24
Registriert: Sa 29. Jan 2011, 13:09

Re: Pixelfarbe ermitteln

Beitrag von Jim92 »

theo hat geschrieben:Wie wärs mit

Code: Alles auswählen

Canvas.Pixels[x,y];
Ha! Ja, da hätte man auch selbst draufkommen können, habs über die Eigenschaften des Panels versucht, aber auf die Idee, das über Canvas zu machen bin ich nicht gekommen. Tja, manchmal hat man halt ein echtes Brett vorm Kopf.

Was den Link angeht, Danke. Ist echt ziemlich interessant. Werd ich mir mal noch genauer anschauen.

Antworten