Vous pouvez le faire, mais uniquement si votre visionneuse JPEG prend en charge l' extension JPEG SmartScale . jpegtran peut le faire pour des tailles de N / 8, avec N = 1..16. Fondamentalement, la taille du bloc DCT passe de 8x8 à quelque chose d'autre pendant la recompression (par exemple 4x4), ce qui redimensionne efficacement l'image.
Remarque: SmartScale a été introduit dans la version 8 de la bibliothèque libjpeg, mais il n'est pas largement pris en charge par les téléspectateurs.
Un document décrivant les changements en détail peut être trouvé ici: Evolution of JPEG .
EDIT: Il semble que la plupart des téléspectateurs ne peuvent pas réellement afficher ces images, car elles sont basées sur libjpeg-turbo. Et libjpeg-turbo a choisi de ne pas implémenter cette fonctionnalité . En fait, j'ai essayé pas mal de programmes (sur Ubuntu 14.04 et Windows 8) et aucun n'a pu afficher l'image réduite à l'aide de jpegtrans. Même Photoshop, IrfanView et GIMP ont échoué.
EDIT 2: En fait, Ubuntu et Fedora ne livrent même pas la bibliothèque libjpeg8, mais la remplacent complètement par la version libjpeg-turbo. Aucun des programmes ne pourra donc lire les fichiers JPEG SmartScale, à l'exception de quelques fichiers binaires qui sont liés statiquement à la bibliothèque libjpeg8 d'origine.
La réponse courte est non. Une image JPEG utilise la compression, ce qui signifie que chaque octet de sortie dépend de tous les autres. Si vous modifiez le nombre d'octets d'image, vous devez alors décompresser et recompresser.
Il y aura une perte de qualité à la suite de la recompression, car JPEG utilise la compression avec perte, mais vous perdez quand même la qualité en divisant la résolution par quatre. Vous pouvez obtenir la meilleure qualité possible de l'image basse résolution en augmentant le niveau de qualité JPEG lors de la recompression, bien que cela augmentera bien sûr la taille du fichier.
Si vous travaillez beaucoup avec des images, il est préférable de travailler dans un format de compression sans perte, tel que PNG, en convertissant en JPEG uniquement lorsque les images sont finalisées, à condition bien sûr que vous ayez l'espace disque supplémentaire.
la source