2009-08-01 4 views
0

Je crée un script qui peut mettre une image PNG 24 bits transparente comme une marque d'eau sur les images JPG/GIF/PNG. J'ai donc eu beaucoup de succès avec JPEG et PNG. Mais comment puis-je obtenir la même chose avec les fichiers gif? pour les fichiers GIF, le filigrane apparaît, mais sans transparence.Comment filigrane image GIF avec PNG 24 bits avec transparence en PHP?

Aidez-nous s'il vous plaît.

Merci, Anjan

Répondre

1

images GIF utilisent des palettes de couleurs indexées. Afin de combiner une autre image (votre filigrane) avec l'image GIF, quelle que soit la bibliothèque d'images que vous utilisez (je devine gd) convertit probablement le PNG en un format de couleur indexée qui retire le canal alpha quand il le fait alors.

Vous devez probablement trouver un moyen de le convaincre de convertir l'image GIF en un format de couleur non indexé, puis de le combiner avec le filigrane, puis de le réécrire dans un GIF indexé.

+0

Vous n'avez pas à supprimer le canal alpha. Vous avez juste à le sous-échantillonner à 1 bit. – Joey

+0

Bien que vous ayez raison, le sous-échantillonnage fonctionnerait dans le sens le plus basique, en termes de qualité d'image, il est préférable de sous-échantillonner après combinaison plutôt qu'avant - de cette façon, toutes les informations disponibles dans la couche alpha sont disponibles. – Amber