Convertir un fichier image PNG en JPEG en Java
Veuillez vous attendre à une perte de qualité lors de la conversion du fichier image de PNG en JPEG, car les deux sont de format différent, certains effets en PNG peuvent ne pas exister dans le fichier image JPEG. Par exemple, l'arrière-plan transparent en PNG n'est pas pris en charge dans le fichier image JPEG, recherchez-le sur Google pour plus d'informations.
Exemple
Voici un exemple Java pour convertir un fichier PNG avec un fond transparent en une image JPEG avec un fond blanc.
Fichier: javanullpointer.png, 4kb
Exécutez sous le code.
package com.example; import java.awt.Color; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imageio.ImageIO; public class ConvertImageFile { public static void main(String[] args) { BufferedImage bufferedImage; try { //read image file bufferedImage = ImageIO.read(new File("c:\\javanullpointer.png")); // create a blank, RGB, same width and height, and a white background BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(), bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB); newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null); // write to jpeg file ImageIO.write(newBufferedImage, "jpg", new File("c:\\javanullpointer.jpg")); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } }
Sortie
Un nouveau fichier jpg est généré, avec un fond blanc.
Fichier: javanullpointer.jpg, 9kb
Note
Ce code est testé avec quelques fichiers image PNG, le fichier image JPEG converti est dans une qualité acceptable.