Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Watermark mit transparantem Text

  Alt 11. Sep 2009, 08: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
  Mit Zitat antworten Zitat