6
votes

Comment obtenir une meilleure transparence avec les gifs?

Y a-t-il un logiciel, un plugin ou une technique permettant de créer / exporter des gifs de type PNG avec des bords transparents lisses, au moins pour des images plus petites comme des balles ou des boutons.

Je dois vraiment utiliser des gifs parfois pour IE6 afin que ce soit génial de savoir si un tel outil existe?

merci


0 commentaires

6 Réponses :


19
votes

Non, le format GIF ne prend pas en charge la transparence alpha-canal comme PNG. Vous pouvez seulement sélectionner une sur les 256 couleurs possibles dans un GIF pour être transparent.

Si vous connaissez à peu près la couleur de la couleur, le meilleur que vous puissiez faire est de créer le GIF avec le même arrière-plan que vous envisagez de l'utiliser, puis sélectionnez la couleur d'arrière-plan comme transparente. Les bords lisses auront l'air lisse contre ce fond spécifique, mais horrible contre d'autres couleurs.


2 commentaires

Cependant, vous pouvez minimiser les effets en construisant soigneusement le GIF pour réduire les bords déchiquetés. Vous pouvez également rechercher un correctif IE6 PNG.


Vous ne pouvez pas utiliser le dithering pour obtenir une fausse transparence partielle? Cela n'aidera pas avec des bords lisses mais aidera avec les ombres et les choses



1
votes

Les bords d'un PNG sont lisses en raison de l'anti-aliasing, et donc de l'opacité variable. Le format GIF ne supporte pas cela, alors malheureusement non, il n'y a pas de moyen de le faire.


1 commentaires

En raison de l'information alpha ne pas être 0 ou 1 mais une valeur de 0 (transparent) à 255 (opaque), et non à cause de l'anti-aliasing.



0
votes

GIF n'a pas de canal alpha comme PNG, vous ne pouvez donc pas obtenir des bords transparents en douceur. Le canal Alpha spécifie à quel point chaque pixel est transparent, de sorte que vous pourriez avoir des pixels à moitié transparents par exemple. Le gif de l'autre main est limité à 8 couleurs bits et l'une d'entre elles est désignée comme couleur transparente.


0 commentaires

0
votes

Autant que je me souvienne (je n'ai pas utilisé gifs depuis un certain temps), un GIF n'a pas de transparence variable - un pixel n'est pas transparent ou non. Vous pouvez simuler la transparence en mélangeant l'image d'arrière-plan, mais cela dépendrait d'avoir un arrière-plan statique et défini.


0 commentaires

1
votes

Oui, un gif peut être transparent, il suffit d'utiliser des cadres transparents PNG et lorsqu'il est intégré au CSS, il aurait un fond transparent.

background: url(../images/mundog.gif) no-repeat;


0 commentaires

0
votes

La solution moderne pour cela utilise WebP au lieu de gif.
WebP prend en charge à la fois une animation et un canal alpha, ainsi que la compression sans perte.
C'est bien suporté par des navigateurs de nos jours.


0 commentaires