Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
Delphi 12 Athens
|
Re: Watermark mit transparantem Text
11. Sep 2009, 09:41
Ausgangspunkt ist eine Bitmap mit dem Bild und eine weitere mit der Schrift. Die Schriftbitmap enthält nur schwarze und weiße Punkte.
Damit die Ecken und Kanten der Schrift nicht zu hart sind, kann man auf diese Bitmap Antialiasing oder Blur anwenden. Danach sind auch mehr oder weniger graue Punkte vorhanden.
Im Prinzip ist die Schriftbitmap jetzt ein Alphakanal, der bestimmt wie stark das Bildbitmap an der entsprechenden Stelle durchscheinend ist. Der Faktor muss für jedes einzelne Pixel neu ermittelt werden.
Die Faktoren sind auf 0..1 zu skalieren.
Faktor = FesterFaktor * Helligkeit(SchriftPixel)
HintergrundFarbe ist in diesem Fall konstant weiß.
BildPixelFarbe = BildPixelFarbe * (1 - Faktor) + HintergrundFarbe * Faktor
|