将透明度设置为不同颜色的背景imageMagick

时间:2014-01-07 06:34:01

标签: pdf imagemagick imagemagick-convert

我需要处理一些pdf到透明的png,pdf是纯文本的,带有彩色背景。

pdf有不同的彩色背景,有些是浅灰色,有些是白色等,但它们在整个pdf中都是一致的。

在imagemagick中是否有一种方法可以识别左上角的像素颜色,并在执行imagemagick命令时将获取的颜色传递给命令-transparent "identifiedColor"

谢谢!

1 个答案:

答案 0 :(得分:3)

解决方案1:遮罩填充

convert input.pdf -fill none -fuzz 10% -draw "matte 0,0 floodfill" output.png

您可能需要调整模糊百分比

更多详细信息:http://www.imagemagick.org/Usage/draw/#matte

解决方案2:颜色替换

我找不到在单个命令中执行此操作的方法,但这两个命令应该有效:

  1. 用白色替换背景颜色(取自像素[0,0]):

    convert input.pdf -fill white -draw "color 0,0 replace" temp.png
    
  2. 使白色像素透明:

    convert temp.png -transparent white output.png
    
  3. 此处有更多详情http://www.imagemagick.org/Usage/draw/#color

    在Windows上使用ImageMagick 6.6.0-1进行测试