使用imagemagick Java生成水印图像时出现问题

时间:2014-07-20 18:26:37

标签: java image imagemagick watermark

我想尝试使用imagemagick生成带水印的图像,我使用了以下命令

composite -compose atop -geometry +400 -gravity southeast E:/imagesWaterMarkTest/watermark.png E:/imagesWaterMarkTest/photo.jpg E:/imagesWaterMarkTest/photoAfter.jpg

当iam生成使用命令提示其工作正常并生成带有水印的图像

但是当我使用Java生成它生成两个图像photoAfter-0.jpg(普通水印图像)和photoAfter-1.jpg(普通图像)时它失败了,我不明白什么是错误可以任何一次建议任何更改

这是我的代码

try {
      String command =  StringBuffer().append(tool)
    .append(" composite -compose atop -geometry +400 -gravity southeast ").append(waterMarkImageSrcFile).append(" ")//Watermark Image source
    .append(srcFile).append(" ") //Original Image file path
    .append(destFile).toString();//Destination File path
        log.equals("Info: Generating watermark image: " + command);
        System.out.println("Info: Generating watermark image using: " + command);
        Process p = Runtime.getRuntime().exec(command); 
        p.waitFor();
        p.destroy();
    } catch (InterruptedException e) {
        log.warn(e.getMessage(), e);
        throw new IOException(e.getMessage(),e);
    } 

1 个答案:

答案 0 :(得分:0)

来自你的评论:

This is the output of sysout (no errors) Info: Generating watermark image using: C:/Program Files/ImageMagick-6.8.9-Q16/convert composite -compose atop -geometry +400 -gravity southeast C:/images/test/watermark.png C:\images\test\67434.jpg C:/123.jpg –

请注意,文件指示了不同的路径:

而不是C:/images/test/watermark.png,它应该是C:\images\test\watermark.png 而不是C:/Program Files/ImageMagick-6.8.9-Q16/convert', it should be C:\ Program Files \ ImageMagick-6.8.9-Q16 \ convert`

这可能是问题的原因。