Ajustement du niveau de compression JPEG en Java avec ImageIO
Dans le domaine de la manipulation d'images, contrôler le niveau de compression des fichiers JPEG est essentiel pour équilibrer qualité de l'image et taille du fichier. Bien que le niveau de compression par défaut pour ImageIO ne soit pas toujours suffisant, cet article explique comment affiner ce paramètre.
Obtenir directement ImageWriter
Une approche directe implique récupérer l'ImageWriter pour le format JPEG :
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next();</code>
Définition des paramètres de compression explicites
Pour définir explicitement le niveau de compression, utilisez la classe ImageWriteParam :
<code class="java">ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);</code>
Ajustement de la qualité de compression
Le niveau de compression souhaité est spécifié sous forme de flotteur entre 0,0f (compression maximale, qualité minimale) et 1,0f (compression minimale, qualité maximale) :
<code class="java">jpgWriteParam.setCompressionQuality(0.7f); // Set a compression quality of 70%</code>
Écriture de la sortie
ImageWriter nécessite un ImageOutputStream pour générer l'image :
<code class="java">ImageOutputStream outputStream = createOutputStream(); // Generate an OutputStream (e.g., a FileImageOutputStream) jpgWriter.setOutput(outputStream);</code>
Finalisation
Une fois l'image écrite, l'ImageWriter doit être supprimé :
<code class="java">jpgWriter.dispose();</code>
En conclusion, en obtenant directement l'ImageWriter et en définissant des paramètres de compression explicites, vous obtenez un contrôle précis sur le niveau de compression JPEG , optimisant la qualité de l'image et la taille du fichier en fonction de vos besoins spécifiques.
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!