在Java中将PNG转换为JPEG图像文件

本文提供了一个Java示例,演示如何将具有透明背景的PNG图像转换为带有白色背景的JPEG文件,同时指出转换可能导致质量损失且JPEG不支持PNG的透明效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将图像文件从PNG转换为JPEG时,请注意质量会下降,因为两者的格式都不相同,因此JPEG图像文件中可能不存在PNG中的某些效果。 例如,JPEG图像文件不支持PNG中的透明背景,有关更多信息,请单击Google。

这是一个将透明背景的PNG文件转换为白色背景的JPEG图像的Java示例。

文件:javanullpointer.png,4kb

png file with transparent background

运行下面的代码。

package com.mkyong;

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,9kb

jpg file with white background

注意
此代码使用少量PNG图像文件进行了测试,转换后的JPEG图像文件的质量合格。

翻译自: https://mkyong.com/java/convert-png-to-jpeg-image-file-in-java/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值