java - 合并两个不透明图像以获得透明图像

标签 java pdf imagemagick jai

我需要从 PDF 中提取图像。

但由于它的背景是透明的,因此使用软蒙版保存以创建透明度。

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

下面是“主要”图像:

img.jpg

这里有相应的软掩码:

mask.jpg

我尝试使用 ImageMagick 命令:

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

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

最佳答案

我想你可能想要这样的东西,但很难说,因为你没有向我们展示你的预期结果:

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

enter image description here

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

关于java - 合并两个不透明图像以获得透明图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28570230/

相关文章:

linux - 连接 PDF,同时保留列表中的排名

imagemagick - 了解透视投影失真 ImageMagick

java - magick.MagickException : Unable to retrieve handle

c++ - 在 vc++ 中哪里可以找到 ImageMagicK 操作描述的更多详细信息?

java - 使用注释来监视/记录/报告线程访问给定方法的 Java 工具?

java - Hibernate 使用命名查询调用存储过程

java - 有没有办法使用java列出ssis中的包

java - 我自己的 http 服务器的 TCP 机器状态单元测试

json - Electron-Vue从JSON动态生成PDF文件并下载

pdf - 通过 Windows 命令行将 TIFF 转换为 PDF