J'ai une question à propos du format jpg

Bonsoir,

J’ai constaté avec un certain étonnement que certains fichiers d’un jeu : Dream Sleuth édité par Big Fish Games sont curieusement très gros en terme de poids.
Par curiosité, j’ai ouvert puis ré-enrigistré le fichier sans aucune modification de ma part en qualité max dans Photoshop, le fichier était au pire 2 fois plus petit que le fichier d’origine, ce qui est surprenant, donc je me demande vraiment comment sont crées ces fichiers à la base.

Y’aurait-il quelque chose que j’ignore concernant le format JPG ?
Bien sûr, après un ré-enregistrement, le nouveau fichier n’est plus lisible dans le jeu, à la place j’ai rien.

Quelqu’un pourrait-il éclairer ma lanterne là dessus car cette enigme me turlupine depuis pas mal de temps ? J’ai bien essayé de comprendre par moi-même mas pas moyen.

merci d’avance.

Déjà il faut savoir que le format JPEG et un format compressé et “dégradant”.
J’entends par là que plus le niveau de compression choisi est élevé, plus petit sera le fichier et plus l’image sera dégradée.

Pour t’en rendre compte, il suffit de faire un carré de couleur sur un fond blanc et d’enregistrer l’image avec différent niveau de compression.

Ensuite, même si le fichier est une image, codé avec un format image, et avec une extension .jpg, rien ne te garanti qu’il s’agit d’un fichier JPEG standard.

Rien n’empêche le devellopeur d’ajouter des données à ce fichier qu’il utilisera dans le jeu :neutre:

Cela peut aller de simple infos pour caler une texture à une signature complexe du fichier pour garantir que les objets ne sont pas modifiés en passant tout simplement par une entête particulière.

Ok, et comment peut-on ajouter des infos dans une image ?

Tout dépends des formats mais en général, le logiciel lit l’entête dans laquelle se trouve des infos comme la taille de l’image, le niveau de compression etc …

Donc en ouvrant un fichier qui te dis j’ai 1000 pixel alors tu lis les 1000 pixel et tu t’arrête sans prendre en compte la suite.

Maintenant ce n’est qu’un exemple, il faut poser la question au devellopeur :ane: