Thema: Delphi Addition von Bitmaps

Einzelnen Beitrag anzeigen

Dannyboy

Registriert seit: 4. Aug 2003
Ort: Delphi-Heaven
418 Beiträge
 
Delphi 7 Personal
 
#2

Re: Addition von Bitmaps

  Alt 20. Aug 2004, 11:23
Hallo Alfred,
Hier im Forum suchenScanLine benötigst Du auf jeden Fall, um die Pixel Deines Bitmaps
zu ändern. Dabei musst Du darauf achten, dass das Pixelformat
richtig gewählt ist. Am besten, Du schaust Du das Bsp. in der Delphi-
Hilfe zu Scanline mal an.

Genau betrachtet möchtest Du nicht die Summe von Bildern bilden, sondern
den Durchschnitt. Würde man die einzelnen Farbpartikel von Bildern
addieren, so wäre das Ergebnis irgendwann ein weisses Bild.

Die Sache mit den überlappenden Bildern musst Du selbst ausrechnen, also
da gibt es zumindest meines Wissens keine Funktion für.
Du schnappst Dir mit Scanline eine Zeile von Pixeln und dann würde
ich das für jeden Pixel ganz spontan folgendermaßen machen:

Du unterteilst die Pixel in deren RGB-Bytes (entweder selbst shiften
oder die Funktionen in der Windows.pas verwenden). O.k., Du hast
nun also red1, green1, blue1 von einem Pixel des unteren Bildes.
Du schnappst Dir nun den Pixel an der gleichen Position des obereren,
überlappenden Bildes, und kriegst red2, green2 und blue2.
Nun hast Du also 2 Pixel, aus denen Du ein Mittelmaß errechnen möchtest.
am besten á al:
Delphi-Quellcode:
var redNeu, greenNeu, blueNeu : word; // byte würde nicht funktionieren !
redNeu:= (red1 + red2) div 2;
greenNeu:= (green1 + green2) div 2;
blueNeu:= (blue1 + blue2) div 2;
Dies tust Du für jeden Pixel des Bildes.
How much wood would a wood-chuck chuck if a wood-chuck would chuck wood?
Check this out.
DANNYBOY
  Mit Zitat antworten Zitat