在Graphics2D中处理后图像大小增加

时间:2017-09-05 09:59:38

标签: java graphics2d

以下代码会生成更大尺寸的图像。我的原始图像200x200是6 KB。在此之后我获得了100KB的输出。

当我再次将输出再次作为输入时,它不会改变大小

    File imageFile = "path to image"
    BufferedImage subImage= ImageIO.read(new FileInputStream(imageFile));
    BufferedImage dest = new BufferedImage(200, 200, BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2 = dest.createGraphics();
    g2.drawImage(subImage, 0, 0, 200, 200, null);
    g2.dispose();
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ImageIO.write(dest, "png", out);

1 个答案:

答案 0 :(得分:0)

图像大小取决于所选的格式压缩频道

与JPEG相比,PNG通常使用更大的尺寸,因为它提供 alpha通道(您在此处使用)并执行无损压缩

在编写图像时尝试选择"JPEG",并检查尺寸和质量是否更符合您的需求。