2015-02-17 153 views
1

我需要从PDF中提取图像。合并两个不透明图像以获得透明图像

但是由于它的背景是透明的,所以它被保存在软掩模中以创建透明度。

虽然我能够提取下面的两个不透明图像,但我不知道是否有方法在Java中重新创建原始图像。我可以使用JAI吗?

下面有 “主” 的形象:

img.jpg

这里有相应的柔光罩:

mask.jpg

我试着用ImageMagick的使用以下命令:

convert mask.jpg -background Black -alpha shape copy.png 

和我几乎得到了我需要的东西,但前景色只有黑色,而原始色也是蓝色的前景色。

+1

也许向我们展示它在完成时的样子。 – 2015-02-18 09:06:49

回答

2

我想你可能希望这样的事情,但它是很难说,你不告诉我们您预期的结果:

convert -fuzz 20% main.jpg -transparent black \ 
    mask.jpg -compose copy-opacity -composite \ 
    result.png 

enter image description here

-fuzz允许黑色像素main.jpg变得透明。然后加载蒙版图像,并将其不透明度复制到主图像。

+1

太棒了!这正是我需要的,但是有没有Java的等价物? – alexyz78 2015-02-18 09:52:26

+1

对不起,我不会说Java - 我以为你对命令行界面感到满意,因为你展示了你在那里尝试过的东西。也许你可以shell执行我给的ImageMagick命令,或者看看这里http://stackoverflow.com/questions/19296075/how-would-i-use-the-imagemagick-library-with-processing – 2015-02-18 10:43:54