Voilà je me demandais comment ça marche le truc du BMP / PNG / JPG
j'aimerais beaucoup savoir comment ils encode et décode une image dans ses format-ci
Combien un pixel prend t-il de place en octets dans le fichier
oui comment il enregistre le pixel: X, Y, Couleur
Moi je me suis dit qu'il n'y avais pas de X et Y car on lit ou écrit l'image du début a la fin
par contre impossible de savoir comment il enregistre le couleur du pixel
mais j'ai estimer qu'il fallait 3 octets par pixel
(d'ailleurs, en mode 256 couleur, c'est plus que du 1 octets par pixel, ils utilise quoi ?
et en 16 couleur, je crois que c'est 1 octets pour 2 pixel non ?)
en fessant un calcule sur une image:
taille de l'image en pixel diviser par le nombre de pixel totale du fichier image
Mais attention car pour faire ça, il faut prendre le format de base BMP
car il n'y as pas de compression de donnée ou alors il faut crée une image ou
chaque couleur de pixel serais dessiner aléatoirement et l'enregistrer au forma PNG
d'ailleurs si vous faite ça, vous pourrez constaté avec émerveillement que la taille
du fichier est identique (a quelques centaine d'octets prés), c'est complètement normale
puisque le fichier ne contiens pas deux pixel identique l'un a coté de l'autre et du coup
impossible de compresser le fichier image, plus il y as de pixel identique
proche les uns des autres et meilleur est la compression !
Voilà comment j'ai procéder pour crée cette fameuse image:
Code : Tout sélectionner
CreateImage(1, 1600, 1200)
StartDrawing(ImageOutput(1))
x = 0
y = 0
Repeat
If x = 1600 And y < 1201
y + 1
x = 0
If y = 1200
Break
EndIf
EndIf
Plot(x, y, RGB(Random(255), Random(255), Random(255)))
x + 1
Until y = 1200
SetClipboardImage(1)