Maison  >  Article  >  Java  >  Comment ajuster le niveau de compression JPEG à l'aide d'ImageIO en Java ?

Comment ajuster le niveau de compression JPEG à l'aide d'ImageIO en Java ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-25 20:18:29861parcourir

How to Adjust JPEG Compression Level Using ImageIO in Java?

Définition du niveau de compression JPEG avec ImageIO en Java

Lorsque vous utilisez ImageIO pour enregistrer une image tamponnée au format JPEG, vous devrez peut-être ajuster le niveau de compression. Ce paramètre n'est pas facilement apparent dans la méthode d'écriture de base d'ImageIO.

Pour définir le niveau de compression, vous pouvez accéder à ImageWriter directement depuis ImageIO. Voici un exemple :

<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next();
ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam();
jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
jpgWriteParam.setCompressionQuality(0.7f);</code>

Notez que ImageWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT) est requis pour activer le paramètre de qualité explicite. La valeur de la qualité de compression varie de 0,0f (compression maximale) à 1,0f (qualité maximale).

Pour terminer le processus d'écriture, utilisez ImageWriter.setOutput pour définir un ImageOutputStream. Bien que vous puissiez utiliser le type d'objet générique, il est généralement recommandé d'utiliser FileImageOutputStream pour l'écriture directe de fichiers ou MemoryCacheImageOutputStream pour les flux de sortie comme ByteArrayOutputStream.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn