Maison >Java >javaDidacticiel >Comment contrôler le niveau de compression JPEG à l'aide d'ImageIO en Java ?
Définition du niveau de compression JPEG à l'aide d'ImageIO en Java
En Java, ImageIO est une bibliothèque polyvalente pour la manipulation d'images. Cependant, il lui manque une méthode explicite pour définir le niveau de compression JPEG lors de l'écriture d'images. Cet article répond à cette limitation en montrant comment ajuster la qualité de la compression à l'aide de l'API ImageIO.
Solution
Pour contrôler la compression JPEG, une approche consiste à utiliser la classe ImageWriteParam. Les étapes suivantes décrivent le processus :
Exemple de code :
<code class="java">ImageWriter jpgWriter = ImageIO.getImageWritersByFormatName("jpg").next(); ImageWriteParam jpgWriteParam = jpgWriter.getDefaultWriteParam(); jpgWriteParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); jpgWriteParam.setCompressionQuality(0.7f); ImageOutputStream outputStream = new FileImageOutputStream(new File("output.jpg")); jpgWriter.setOutput(outputStream); IIOImage outputImage = new IIOImage(image, null, null); jpgWriter.write(null, outputImage, jpgWriteParam); jpgWriter.dispose();</code>
Cet extrait de code définit explicitement la qualité de compression sur 0,7, produisant une image avec un équilibre entre la qualité et la taille du fichier. .
Remarque :
Les exemples supposent l'existence d'une variable image et d'un objet File pour écrire la sortie. De plus, la classe MemoryCacheImageOutputStream est une alternative à FileImageOutputStream lors de l'écriture dans une mémoire tampon.
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!