【问题标题】:Set ImageWriter output to ObjectOutputStream将 ImageWriter 输出设置为 ObjectOutputStream
【发布时间】:2020-06-05 17:56:43
【问题描述】:

我正在尝试使用此方法压缩图像:Setting jpg compression level with ImageIO in Java

该解决方案工作正常,但我使用 ObjectOutputStream 而不是 FileImageOutputStream,当我将 ObjectOutputStream 设置为写入器输出时,我得到一个 java.lang.IllegalArgumentException: Illegal output type! 异常。我需要使用 ObjectOutputStream。

这很好用ImageIO.write(img, "jpg", outstream);

【问题讨论】:

    标签: java image-processing servlets javax.imageio


    【解决方案1】:

    当您调用ImageIO.write(img, "jpg", outstream); 时,该方法将调用ImageIO.createImageOutputStream(outstream) 并将结果传递给ImageWriter。当您直接拨打setOutput 时,您必须自己拨打电话。

    ImageWriter w = ImageIO.getImageWritersByFormatName("jpg").next();
    w.setOutput(ImageIO.createImageOutputStream(outputStream));
    w.write(image);
    

    【讨论】:

      猜你喜欢
      • 2018-11-06
      • 2017-05-23
      • 2013-06-20
      • 1970-01-01
      • 1970-01-01
      • 2012-10-08
      • 2014-05-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多