Comment puis-je enregistrer une image au format PNG ou JPG avec une taille de fichier de sortie donnée? (préf. en C #)

StackOverflow https://stackoverflow.com/questions/421056

  •  05-07-2019
  •  | 
  •  

Question

Je souhaite enregistrer une image existante au format PNG ou JPG à une taille de fichier donnée, par exemple 100 Ko.

Était-ce utile?

La solution

PNG utilise la compression sans perte afin que vous ne puissiez pas le compresser en dessous d’un certain niveau.

Dans .NET, vous pouvez enregistrer un fichier JPG avec compression et deviner la taille du fichier une fois terminé.

http: // msdn.microsoft.com/en-us/library/system.drawing.image.save(VS.80).aspx - Reportez-vous à la section "Enregistrer une image JPEG avec une valeur de compression". section.

Vous pouvez également redimensionner les dimensions de l'image pour la réduire.

Autres conseils

Uniquement si vous utilisez JPG 2000, vous pouvez définir une taille de fichier spécifique. En utilisant JPG, vous devrez essayer différentes valeurs de qualité. En PNG, vous obtiendrez une taille unique pour une image donnée et un niveau de compression. Vous ne pouvez essayer que de redimensionner l’image, ce qui vous donnera une taille inférieure.

Vous pouvez également essayer de redimensionner l'image de manière à ce qu'une image non compressée ait la taille souhaitée, mais les fichiers au format PNG, et plus particulièrement JPG, auront souvent une taille de fichier beaucoup plus réduite.

Pour le format PNG, il n’existe pas vraiment de paramètre de qualité. Vous ne pouvez donc pas contrôler la taille du fichier.

Jpg a un paramètre de qualité qui détermine le niveau de qualité de l’image. les paramètres de qualité inférieurs donnent des fichiers plus petits. Cependant, il n’existe normalement pas d’option "Donner la qualité requise pour un fichier de taille x".

Vous pouvez obtenir le même résultat en utilisant une approche plutôt inefficace de la conversion au format jpg en mémoire, en observant l’ampleur de la sortie, en ajustant la qualité à la hausse ou en baisse et en la répétant jusqu’à ce que vous vous en approchiez suffisamment. Cela peut sembler terrible, mais si vos images ne sont pas trop grandes, vous constaterez peut-être que personne ne remarque le court délai pendant lequel vous le faites.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top