我想尝试使用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);
}
答案 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`
这可能是问题的原因。