Kikou, chose que je comprend pas: pourquoi tu utilises du BMP ou des images qui sont encore plus grosses ?
Tu devrais utiliser du PNG ou du JPEG avec qualité de 90% ca suffit largement et tu réduirais la taille du jeu de presque la moitié
.
Surtous que je ne vois pas comment il peut y avoir un format image plus gros que le BMP.
Je rappel que le BMP n'est pas compressé.
Chaque pixel est codé sur 4bits(4Octets
):
Ont trouve 3 octets qui sont la composante RVB + le canal Alpha.
Donc:
- 1Octets pour le Rouge
- 1 pour le Vert
- 1 pour le bleu
- 1 pour le canal Alpha.
Pour ceux qui ne connaitrait pas, le canal alpha c'est la transparance.
Sachant que le BMP ne gère pas la transparance, l'octet du canal alpha est toujours mis à 0x00 autrement dit la valeur est nul(0x00 est la notation héxadécimal en C/C++
, en assembleur et en représentation héxadécimal ont l'écrit comme ceci: 00h(le H en minuscule), ceci revient à donner le chiffre 0 en décimal c'est à dire dans notre système d'écriture).
en outre, la taille des BMP est différantes suivant le nombres de couleurs.
Je m'explique, il éxiste plusieurs types de BMP:
- 1BPP: Couleurs monochrome c'est à dire du noir et du blanc uniquement.
- 4BPP: 16 couleurs au maximum.
- 8BPP: 256 couleurs au maximum.
- 16BPP: 65535 couleurs au maximum si je me souviens bien, mais ce format là est spécial, et peut de logiciel d'imagerie sont capable de l'écrire, mais tous peuvent le lire.
- et enfin le 24BPP: 16,7 millions de couleurs au maximum.
Les 4, 8 et 16 BPP, utilisent une palette de couleur inclus juste après l'en-tête du fichier.
Le 24 BPP lui n'en utilise pas.
Si vous avez 256 couleurs au maximum, il est recommandé d'utiliesr le 8BPP, cela vous permet d'éviter d'avoir un fichier BMP trop gros.
Exemple, vous avez un BMP codé en 16BPP qui fait 3072 pixels sur 3072 pixels(noté comme ceci: 3072x3072), qui va avoir une taille de 16Mo.
Vous l'enregistré en 24BPP, et le fichier va faire plus de 32Mo, autrement dit, vous allez au minimum doublé la taille du fichier(si si c'est vrais, j'ai fait l'expérience
).
Les fichiers BMP sont donc très très gros, mais la qualité est parfaite.
Pour les gens qui ont besoin d'avoir une qualité parfaite, ont enregistre en général en PNG avec une compression de 9(compression maximal), ce format de fichier permet de garder la même qualité que l'image d'origine tous en compressant l'image.
Maintenant, si certains ne me crois pas ou veux plus d'infos sur les BMP, je vous invite à vous rendre sur:
http://www.wotsit.org.
C'est grace à se site que j'ai découvert comment fonctionne le BMP, car j'avais besoin de savoir coder/décoder un BMP pour un programme DOS fait en QBasic(il s'agit d'une émulation des fonctions du SC
, je compte inclure des images mais là ce sera du BMP car pour le moment je ne sais pas créer d'algorithme de compression/décompression
).
Ce que je voulais dire mon cher ami Kikou, c'est que l'utilisation à la place du BMP, d'images en PNG, JPEG ou même en GIF si ca dépasse pas les 256 couleurs(c'est encore mieu que le JPEG, PNG, BMP etc... si il y a si peu de couleurs
), tu réduira énormément la taille du jeu.
Si maintenant tu veux utiliser le BMP(parce que par exemple tu peux pas utiliser un autre format
), si tu as pas plus de 256 couleurs par images, passe les en BMP 8BPP donc 256 couleurs
, tu réduira de pas mal la taille du jeu.