【问题标题】:Java / JAI - save an image gray-scaledJava / JAI - 保存图像灰度
【发布时间】:2010-02-05 19:22:36
【问题描述】:

我尝试保存 tiff 而不是彩色灰度。我怎么能这样做? (必须使用 JAI,因为它是 tiff!)

非常感谢提前和最好的问候。

【问题讨论】:

    标签: java jai


    【解决方案1】:

    您需要下载JAI Image I/O Tools,它为 JAI 提供 ImageIO 适配器。安装后,一切顺利。

    final BufferedImage in = ImageIO.read(new File("frabozzle.tif"));
    final BufferedImage out = new BufferedImage(
        in.getWidth(), in.getHeight(),
        BufferedImage.TYPE_BYTE_GRAY);
    out.getGraphics().drawImage(in, 0, 0, null);
    ImageIO.write(out, "TIFF", new File("graybozzle.tif"));
    

    【讨论】:

    • hmm,我怎样才能在没有任何灰度压缩的情况下保存图像?
    • 我在线程 "main" java.lang.ArrayIndexOutOfBoundsException: 6422430 中得到一个异常。它在 out.getGraphics() 中。
    • in = (java.awt.image.BufferedImage) BufferedImage@381d92; type = 0 ColorModel: #pixelBits = 32 numComponents = 1 颜色空间 = java.awt.color.ICC_ColorSpace@1d8e92 透明度 = 1 alpha = false isAlphaPre = false sun.awt.image.SunWritableRaster@7e5130
    • 问题已解决。我的图像,但 IrfanView 以红色显示。我不知道为什么,但我在其他程序中很好地显示它,但在 GIMP 中却没有:-(
    【解决方案2】:

    给定一个BufferedImage,可以使用ColorConvertOpfilter()方法,如example所示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 2012-11-11
      • 2021-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多