【问题标题】:ImageMagick example to convert multiple JPEG files to multi-page TIFF in JAVA在 JAVA 中将多个 JPEG 文件转换为多页 TIFF 的 ImageMagick 示例
【发布时间】:2014-02-17 13:18:42
【问题描述】:

我的要求是将多个 jpeg 文件转换为多页 Tiff 文件。最初,我经历了这个post,我能够使用 jai_imageio 库在 java 中创建 tiff 文件,但不幸的是这些库不是开源的。后来,我听说ImageMagick 可以完全满足我的需求。我在我的机器上安装了 ImageMagick,并编写了一个小实用程序,它以多个 jpeg 作为输入并提供一个 TIFF 文件作为输出。

代码:

try {
    Process p = Runtime
        .getRuntime()
        .exec("C:/Program Files/ImageMagick-6.8.8-Q16/convert E:/1.jpg E:/2.jpg E:/3.jpg -compress JPEG " 
    +"E:/mul.tiff");
    p.waitFor();

    } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
    } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
}

该实用程序运行良好,但上述程序的问题是,我无法调试,即使我为输入文件指定了错误的路径,上述代码也不会抛出任何错误。

我知道Jmagick,它为 ImageMagick 提供了一个 Java 接口。如果有人在 java 中为我提供一个 Jmagick 示例程序,它可以通过多个 jpeg 作为输入创建多页 tiff,这对我很有帮助。

谢谢。

【问题讨论】:

    标签: java imagemagick tiff jmagick


    【解决方案1】:

    经过大量谷歌搜索,我找到了im4java,它帮助我将多个 jpeg 转换为单个 tiff。它是ImageMagick 的Java 包装器。有关设置和示例,请访问this。下载所需的 jars here 并将其放入您的类路径中。

    这是我正在使用的示例代码。

         // create the operation, add images and operators/options
            ConvertCmd cmd = new ConvertCmd();
            IMOperation op = new IMOperation();
            op.addImage("E:/jpeg/001.jpg");
            op.addImage("E:/jpeg/003.jpg");
            op.addImage("E:/jpeg/006.jpg");
    
            op.compress("JPEG");
            op.format("TIFF");// set the format.
            op.addImage("E:/im4j-compressed.tiff");
    
            // execute the operation
            cmd.run(op);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 2013-10-31
      • 2019-12-17
      • 2013-03-03
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      相关资源
      最近更新 更多