Конвертировать PNG в файл изображения JPEG в Java
Пожалуйста, ожидайте некоторую потерю качества при преобразовании файла изображения из PNG в JPEG, поскольку оба формата отличаются, некоторые эффекты в PNG могут отсутствовать в файле изображения JPEG. Например, прозрачный фон в формате PNG не поддерживается в файле изображения JPEG, Google для получения дополнительной информации.
пример
Вот пример Java для преобразования файла PNG с прозрачным фоном в изображение JPEG с белым фоном.
Файл: javanullpointer.png, 4кб
Запустите ниже код.
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(); } } }
Выход
Создается новый файл jpg с белым фоном.
Файл: javanullpointer.jpg, 9кб
Note
Этот код протестирован с несколькими файлами изображений PNG, преобразованный файл изображения JPEG имеет приемлемое качество.