为什么要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.
要删除的问题.