2009-08-01 6 views
0

Ich erstelle ein Skript, das ein 24-Bit transparentes PNG-Bild als Wasserzeichen auf JPG/GIF/PNG-Bildern setzen kann.Wie GIF-Bild mit 24-Bit-PNG mit Transparenz in PHP Wasserzeichen?

So weit hatte ich Erfolg mit JPEG und PNG.

Aber wie kann ich dasselbe mit gif-Dateien erreichen? Bei GIF-Dateien erscheint Wasserzeichen, jedoch ohne Transparenz.

Bitte helfen.

Danke, Anjan

Antwort

1

GIF-Bilder verwenden indizierte Farbpaletten. Um ein anderes Bild (Ihr Wasserzeichen) mit dem GIF-Bild zu kombinieren, konvertiert die Bilddatenbank, die Sie verwenden (ich rate gd) wahrscheinlich das PNG in ein indiziertes Farbformat, das den Alphakanal ausschaltet, wenn dies der Fall ist damit.

Sie müssen wahrscheinlich einen Weg finden, es zu überzeugen, das GIF-Bild zuerst in ein nicht indiziertes Farbformat zu konvertieren, es dann mit dem Wasserzeichen zu kombinieren und es dann wieder in ein indiziertes Farb-GIF zu schreiben.

+0

Sie müssen den Alphakanal nicht entfernen. Sie müssen es nur auf 1 Bit herunterrechnen. – Joey

+0

Während Sie richtig sind, dass das Downsampling im grundlegendsten Sinne funktionieren würde, ist es in Bezug auf die Ergebnisbildqualität besser, nach dem Kombinieren und nicht vor dem Downsampling zu skalieren - auf diese Weise steht die gesamte im Alphakanal verfügbare Information für die Kombination zur Verfügung. – Amber