有关stackoverflow和此示例的以下主题:http://www.mkyong.com/java/convert-png-to-jpeg-image-file-in-java/
代码是:
public static void main(String[] args) throws IOException {
File file = new File("./1.jpg");
// File file = new File("./1.png");
File out = new File("./2.jpg");
BufferedImage image = ImageIO.read(file);
BufferedImage newBufferedImage = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = newBufferedImage.createGraphics();
g2.drawImage(newBufferedImage, 0, 0, Color.WHITE, null);
g2.dispose();
ImageIO.write(newBufferedImage, "jpg", out);
}
执行此代码使用java 8创建黑色jped图片。 此代码适用于java 7
java 8中的错误或更改API?
答案 0 :(得分:2)
看起来这一行是问题所在:
g2.drawImage(newBufferedImage, 0, 0, Color.WHITE, null);
我认为您正在寻找:
g2.drawImage(image, 0, 0, Color.WHITE, null);
原始行正在将新创建的BufferedImage
绘制到自身而不是加载的图像上。