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

被折叠的 条评论
为什么被折叠?



