Fonctionnement du format GIF

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

07 févr. 2006, 18:25

Sachant qu'en GIF, on a au plus 256 couleurs...

:?: Le poids d'un pixel transparent est-il différent de celui d'un pixel coloré ?...
Modifié en dernier par albat le 08 févr. 2006, 17:06, modifié 1 fois.

Eléphanteau du PHP | 11 Messages

07 févr. 2006, 19:08

A mon avis, le poids d'un pixel transparent est le même qui celui d'un pixel coloré puisqu'il est considéré comme une nouvelle couleur dans la palette.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

07 févr. 2006, 20:04

C'est ce que j'ignorais. Merci.

Donc un GIF est codé, non pas en 256 couleurs, mais en 257 finalement. :langue:

Mammouth du PHP | 505 Messages

08 févr. 2006, 09:33

Non, c'est une couleur existante de ta palette que tu choisis de rendre transparente, ce n'est pas une 257 couleur...

Eléphanteau du PHP | 30 Messages

08 févr. 2006, 16:00

Ok je ne suis pas franchement là pour vous aider, autant le dire tout de suite :roll:

Par contre j'ai une question qui rentre dans le sujet et qui me trote dans la tête depuis un moment déjà...

Les 256 couleurs du .gif sont-elles prédéfinies ou est-ce possible d'avoir un gif avec par exemple 256 nuances de rouge ?

Merci :lol:

Mammouth du PHP | 19672 Messages

08 févr. 2006, 17:15

Non, les 256 couleurs du Web sont prédéfinies, plus d'informations sur un petit document que je m'étais fait pour mes propres besoins ICI
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

08 févr. 2006, 17:20

Une image GIF embarque une palette de 1 à 256 couleurs RVB (donc maxi 256x8x3 bits). Ces 256 couleurs peuvent bien être celles que tu veux.
Dans cette palette on peut flagger "transparente" une ou plusieurs couleurs (c'est un seul bit : transparent ou non transparent, là où le PNG utilise plusieurs bits et permet donc un "degré" de transparence de la couleur).

La palette pourrait donc être codée sur 256*(8*3+1) bits, en pratique c'est un peu plus (séparateurs, entêtes, etc... je n'ai aucune idée du détail).

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

10 févr. 2006, 18:43

Je suis étonnée que vous n'ayez pas consulté Wikipedia, mon cher albat (qui exprime en général très bien des questions techniques).
GIF n'enregistre pas directement la couleur de chaque pixel. Pour chaque image, une palette de 2 à 256 couleurs est construite. (...) L'usage d'une palette permettait un affichage beaucoup plus rapide sur les ordinateurs de l'époque dont les cartes graphiques contenaient elle-même une palette d'au plus 256 couleurs.
(...)
GIF permet de spécifier qu'une entrée de la palette est transparente.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 1776 Messages

11 févr. 2006, 02:12

Moi d'après ce que j'avais tilté, c'est qu'un GIF adapte sa palette aux couleurs existantes...
Donc d'après ce que j'ai pu comprendre, si l'on met 255 nuances de rouger, elles vont bien apparaitre...
Toujours d'après ce que j'ai compris, si par exemple une image embarque 3000 couleurs différentes, les zones de couleurs seront remplacées de la moins dense à la plus dense par des couleurs existantes dans la palette (couleur la plus proche) jusqu'à ce que l'on obtienne 255 couleurs + 1 transparent...c'est pourquoi une photo n'a pas sa place au format GIF.
:wink:

Note: j'espère que j'ai bien tilté ^^