Konvertieren Sie PNG in eine JPEG-Bilddatei in Java
Erwarten Sie beim Konvertieren von Bilddateien von PNG in JPEG einen Qualitätsverlust, da beide Formate unterschiedlich sind und einige Effekte in PNG möglicherweise nicht in JPEG-Bilddateien vorhanden sind. Beispiel: Transparenter Hintergrund in PNG wird in JPEG-Bilddateien nicht unterstützt. Weitere Informationen erhalten Sie von Google.
Beispiel
Hier ist ein Java-Beispiel zum Konvertieren einer PNG-Datei mit transparentem Hintergrund in ein JPEG-Bild mit weißem Hintergrund.
Datei: javanullpointer.png, 4kb

Führen Sie den folgenden Code aus.
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();
}
}
}
Ausgabe
Es wird eine neue JPG-Datei mit weißem Hintergrund erstellt.
Datei: javanullpointer.jpg, 9kb

Note
Dieser Code wurde mit wenigen PNG-Bilddateien getestet. Die konvertierte JPEG-Bilddatei ist in akzeptabler Qualität.