Autor Beitrag
Dose
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 28.01.05 20:23 
Erstmal Hallo an alle, denn ich bin neu hier und falle gleich mit der Tür bzw. der Frage ins Haus.

Ich habe 2 TBitmaps. Nun möchte ich das eine auf das andere kopieren und dabei 50% Transparent machen, also so wie wenn man in Photopaint oder Photoshop zwei Ebenen über einander legt und dann die obere Ebene "ein wenig" transparent macht.

Ich habe dazu bisher nichts gefunden. Vielleicht weiß ja jemand Rat, ich würde mich sehr über einen Hinweis freuen!
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Fr 28.01.05 20:38 
Für jeden Pixel:

ausblenden Delphi-Quelltext
1:
Dest.Color := ((Src1.Color and $FEFEFE) + (Src2.Color and $FEFEFE)) shr 1;					


Oder in Worten: Durchschnitt der beiden Pixel bilden ...

Für Transparenz <>50%:

ausblenden Delphi-Quelltext
1:
Dest.Color := Trunc(Src1.Color * (1-Transparenz) + Src2.Color * Transparenz);					


Wobei Transparenz = Prozent / 100.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Dose Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 28.01.05 20:57 
Danke!

Aber nur das 50% (also das obere Beispiel) funktioniert. Wäre supper, wenn Du mir für das FEFEFE noch entsprechendes für 25% und 75% sagen könntest. Dann wäre ich super glücklich!