【发布时间】:2014-07-20 18:26:36
【问题描述】:
嗨,我正在尝试使用 imagemagick 生成带水印的图像,我使用了以下命令
composite -compose atop -geometry +400 -gravity southeast E:/imagesWaterMarkTest/watermark.png E:/imagesWaterMarkTest/photo.jpg E:/imagesWaterMarkTest/photoAfter.jpg
当我使用命令提示生成时,它工作正常并生成带水印的图像
但是当我使用 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);
}
【问题讨论】:
-
该命令的 Sysout 结果是什么?你有任何错误吗?如果是,错误是什么?
-
这是 sysout 的输出(无错误) 信息:使用以下方法生成水印图像:C:/Program Files/ImageMagick-6.8.9-Q16/convert composite -compose atop -geometry +400 -gravity东南 C:/images/test/watermark.png C:\images\test\67434.jpg C:/123.jpg
标签: java image imagemagick watermark