java imageio_java-ImageIO.write()方法和png

本文介绍了一个Java程序如何实现图片的缩放和格式转换功能。通过使用BufferedImage类和ImageIO工具类,可以有效地调整图片大小并将其从一种格式转换为另一种格式,如从JPG转换为PNG。此外,还提供了如何在保持或不保持透明度的情况下进行转换的方法。

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

为什么要ImageIO.write(bufferedimage_dest,“ png”,new File(filedest));写jpg(无透明色)文件而不是png?

添加:

static BufferedImage createResizedCopy(Image originalImage,

int scaledWidth, int scaledHeight,

boolean preserveAlpha)

{

System.out.println("resizing...");

int imageType = preserveAlpha ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB;

BufferedImage scaledBI = new BufferedImage(scaledWidth, scaledHeight, imageType);

Graphics2D g = scaledBI.createGraphics();

if (preserveAlpha) {

g.setComposite(AlphaComposite.Src);

}

g.drawImage(originalImage, 0, 0, scaledWidth, scaledHeight, null);

g.dispose();

return scaledBI;

}

public static void scale(String src, int width, int height, String dest)

throws IOException {

BufferedImage bsrc = ImageIO.read(new File(src));

BufferedImage bdest =

new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);

bdest = createResizedCopy(bsrc, width, height, false);

ImageIO.write(bdest,"png",new File(dest));

}

添加:

好吧,我在main()函数中

ScaleJPG.scale((args[0],Integer.parseInt(args[1]),Integer.parseInt(args[2]), args[3]););

代替

ScalePNG.scale((args[0],Integer.parseInt(args[1]),Integer.parseInt(args[2]), args[3]););

ScaleJPG类似,是该文件夹中的上一课.

我必须放弃记事本,仅使用IDE.

要删除的问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值