Einzelnen Beitrag anzeigen

torro

Registriert seit: 16. Sep 2010
37 Beiträge
 
#1

Farbe aus einem Pixel bekommen.

  Alt 23. Mär 2011, 11:48
Hi,
ich schreibe zurzeit an einem Programm mit dem ich einen Rot-Grün-3D Effekt erstelle.

Dafür zeichne auf dem Canvas nacheinander zwei Würfel aus unterschiedlichen Blickwinkeln. Nun möchte ich, nach dem Zeichnen des ersten Würfels aufs Canvas zugreifen und die RGB Werte an einer bestimmten Position abgreifen, zB (120;200) und diese in einem Array speichern. Nach dem Zeichnen des zweiten Würfels das selbe Spiel: RGB-Werte an der bestimmten Posi abgreifen und Speichern. Danach verrechne ich die RGB Werte in einer Matritze miteinander und möchte den neuen RGB Wert zeichnen.

So, zu meiner Frage:
a) wie greife ich die RGB-Werte ab?
b) Wie "zeichne" ich den neuen RGB-Wert?

Mit der Berechnung habe ich keine Probleme.

Code:
function GetPixel(Pos: TPoint): TColor;
var
  DC: HDC;
  Handle: HWND;
begin
  Handle:=WindowFromPoint(Pos);
  DC:=GetDC(Handle);
  result:=Windows.GetPixel(DC, Pos.X, Pos.Y);
  ReleaseDC(Handle, DC);
end;
Ich bin auf diese Funktion hier im Forum gestoßen, nur ist mir nicht ganz klar was ich in meine Procedure schreiben muss um diese Richtig nutzen zu können..
  Mit Zitat antworten Zitat