【问题标题】:ImageIO write save a black imageImageIO 写入保存黑色图像
【发布时间】:2013-10-04 18:20:23
【问题描述】:

我用过

BufferedImage bi= new BufferedImage(320,240,BufferedImage.TYPE_BYTE_GRAY);

ImageIO.write(bi, "png", outputfile);

保存图像但保存黑色图像。我不明白是什么问题。

【问题讨论】:

  • 仅仅知道问题所在是不够的。 bi 很可能是黑色的,但你没有展示你是如何创建它的内容的。
  • 如果你不把 anything 放在画布上,它将是黑色的。当然,这也可能发生错误。请在此行之前添加您的代码。你之前对bi做了什么?
  • 你是如何操纵bi 图像的?!这是因为默认像素值为 0,表示黑色。
  • 如需尽快获得更好的帮助,请发帖SSCCE
  • 我只是路过,没有使用 BufferedImage 的经验,但 BufferedImage.TYPE_BYTE_GRAY 对我来说似乎很可疑。

标签: java swing javax.imageio


【解决方案1】:

正如已经建议的那样,BufferedImage 中的默认像素值为零 (RGB(0,0,0)),所以通过这一行:

BufferedImage bi= new BufferedImage(320,240,BufferedImage.TYPE_BYTE_GRAY);

您创建了一个黑色图像。所以结果正是这种情况下的预期结果。

例如,如果你想创建一个白色的,你可以这样做:

BufferedImage bi= new BufferedImage(320,240,BufferedImage.TYPE_BYTE_GRAY);
Graphics gc = bi.getGraphics();
gc.setColor(Color.white);
gc.fillRect(0,0,320,240);

保存前。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多