Transparent

Hallo,

ich möchte 2 Grafiken transparent überlagern, d.h. die oberen
Grafik soll nicht nur eine einzige transparente Farbe besitzen,
sondern komplett durchscheinend sein.
Gibt es dafür irgendwelche Standard-Methoden oder muß ich dafür
jeden Punkt einzeln per Hand bearbeiten?

Gruß, Steffen

Hi,

verstehe ich das richtig? Die obenliegende Grafik soll exakt das gleiche wie die untere darstellen?? Was macht das für einen Sinn?

Hi Rüdiger,

das würde echt kaum Sinn machen…
Was ich suche, ist etwas zwischen absolut deckend und komplett durchscheinend. Man sollte also irgendwie die Deckkraft des oberen Bildes angeben können.

Gruß, Steffen

Hi,

verstehe ich das richtig? Die obenliegende Grafik soll exakt
das gleiche wie die untere darstellen?? Was macht das für
einen Sinn?

mmhhh…damit hab ich mich noch nicht beschäftigen müssen. Evtl. schaust mal bei
http://www.efg2.com/lab/ImageProcessing/
rein. Ist immer ein guter Startpunkt zur Bildbe- und verarbeitung.

Gruss und viel Erfolg

RQ

Hallo,

Gibt es dafür irgendwelche Standard-Methoden oder muß ich
dafür jeden Punkt einzeln per Hand bearbeiten?

wenn du es selber programmieren willst, musst du schon jeden Pixel einzeln betrachten. Das Prinzip ist ganz einfach. Du nimmst z.B. eine Zahl (x) zwischen 0 und 1, die angibt, wie stark das obere Bild sichtbar sein soll. Die Farbe des resultierenden Pixels (PixelR) errechnet sich dann so:

PixelR := Round(PixelU*(1-x) + PixelO*x);

PixelU bzw. PixelO sind die Werte des unteren und oberen Bildes. Jetzt musst du nur noch jedes Pixel entsprechend berechnen. Zum Auslesen und Schreiben ist die Scanline Eigenschaft von TBitmap sehr hilfreich und einfach.

Thomas