web-dev-qa-db-fra.com

Comment convertir 32 Mo de fichier PNG en 200kbs sans perdre ses couleurs

J'ai quelques images de 32 mbs de taille et je souhaite modifier leur taille de 32 mbs à 100kbs ou tout kbore de taille sans affecter ses couleurs.

Les commandes que j'essayent sont:

muhammad@muhammad-mohsin:~/scans$ find . -iname '*.png' -exec mogrify -format jpg "*.png" {} +


muhammad@muhammad-mohsin:~/$ find . -type f -iname \*.png -delete


muhammad@muhammad-mohsin:~/$ find . -iname '*.jpg' -exec mogrify -define jpeg:extent=300kb -strip -quality 90 -scale 90% *.jpg {} +

Ici, je convertis d'abord un PNG en JPG qui réduisait sa taille de 32 mbs à 5,8 mbs et tout reste la même chose, mais lorsque j'utilise la commande 3ème, il supprime la couleur de fond dans l'image et la rendant la sorte de grisage de flou.

Cependant, le texte est toujours lisible mais les couleurs et le logo de fond ne le font pas.

Comment puis-je y parvenir avec convertir, mogrifier ou tout autre outil? J'ai essayé toute chose possible jusqu'à présent.

This is part of original image

This is part of changed image after command

1
LearningROR

C'est parce que la compression JPEG fonctionne. Il tente de ronder des pixels adjacents similaires à ceux des mêmes valeurs similaires. Cela provoque une perte de détails et un blocage.

Cela devient plus perceptible lorsque vous augmentez le niveau de compression, qui est Exactement Qu'est-ce que vous faites. De plus, vous le faites en deux étapes:

  1. Perte sans perte (PNG) à la compression de la perte (JPEG).
  2. Perte à la compression de la perte.

Vous allez probablement Obtenez un meilleur résultat en allant sans perte sans perte à la qualité finale, n'appliquant ainsi que la compression de perte de perte une fois, par exemple. utilisant jpeg:extent=300kb -strip -quality 90 -scale 90% Dans la première conversion.

De plus, vous ne disez rien de la taille de l'image et du niveau de détail. Il peut ne pas être réalisable de l'obtenir jusqu'à 300 kb et de conserver la qualité souhaitée.

Pour vous débarrasser des taches de fond, vous pouvez essayer d'appliquer des seuils à votre document dans certains logiciels d'édition d'images, forçant tout ce qui est inférieur à une certaine nuance de gris à être blanc, par exemple.

Cependant, peu importe ce que vous faites, compressez-vous d'un format sans perte de 30 Mo à un format de perte de 300 ko Will conduire de manière visible de qualité.

4
vidarlo