Forum: Multimedia
Delphi
by himitsu,
13. Nov 2003
:oops: Stimmt, meinte natürlich ABS.
:gruebel: Das mit dem XOR, weis auch nicht was da in meinem Kopf fehlgeleitet wurde. (hatte mir auch ein paar Werte durchgerechnet, und da stimmte es fast)
:coder: Na dann optimieren wir mal in Richtung Graustufen.
Var R1, G1, B1, R2, G2, B2, Re, Ge, Be: Byte;
{je Pixel}
R1 := Bild1.Canvas.Pixels and $0000FF;
G1 := (Bild1.Canvas.Pixels and $00FF00)...
Forum: Multimedia
Delphi
by himitsu,
12. Nov 2003
Ne, ich glaub der Denkfehler liegt bei mir. Funktioniert aber dennoch.
Kannst ja auch so rechnen:
Var R1, G1, B1, R2, G2, B2, Re, Ge, Be: Byte;
{je Pixel}
R1 := Bild1.Canvas.Pixels and $0000FF;
G1 := (Bild1.Canvas.Pixels and $00FF00) shr 8;
B1 := (Bild1.Canvas.Pixels and $FF0000) shr 16;
Forum: Multimedia
Delphi
by himitsu,
12. Nov 2003
Versuch es mal hiermit:Var X, Y: Integer;
Begin
For X := 0 to PaintBox1.Width - 1 do
For Y := 0 to PaintBox1.Width - 1 do
PaintBox3.Canvas.Pixels := (PaintBox1.Canvas.Pixels xor PaintBox2.Canvas.Pixels) and $00FFFFFF;
End;Hab das mal schnell im Kopf optimiert. Also nicht getestet.
Das berechnet pro Pixel für jede Grundfarbe (Rot/Grün/Blau) die Farbdifferenz.
Rot3 := ABS(Rot1...