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!