我需要从PNG转换JPG。imagick将png转换为jpg,在java中用im4java
但是,iMagick添加了黑色背景。
我看到这个question这是PHP,并试图写相同的Java这样的:
// create the a jpg image
ConvertCmd cmd = new ConvertCmd();
// create the operation, add images and operators/options
IMOperation op = new IMOperation();
op.addImage(brandingURL);
op.format("JPEG");
op.composite();
op.background("white");
op.addImage(imageLocation);
//op.transparent();
// execute the operation
cmd.run(op);
但尽管如此,图像出来一个黑色的背景。
我错过了什么?
只是一个猜测:转换已经取代了PNG黑色的透明背景的背景设置为白色了。我假设白色背景然后被黑色背景覆盖。也许你不应该转换图像,而是将PNG绘制成相同大小的白色JPEG。 – Thomas 2012-04-25 12:01:28
我该怎么办? – Dejell 2012-04-25 12:03:33
我不是ImageMagick专家(你可能想参考它的文档 - 它可能是'draw'命令),但是用普通的Java图像io,你会创建一个'BufferedImage'并使用关联的Graphics对象来填充背景并在其上绘制PNG。 – Thomas 2012-04-25 12:18:45