我需要处理一些PDF到透明PNG的PDF文本只有彩色背景。将透明度设置为不同的彩色背景imageMagick
pdfs有不同的彩色背景,有些是浅灰色的,有些是白色的等,但它们在整个pdf中都是一致的。
imagemagick中有没有一种方法可以识别左上方的像素颜色,并在执行imagemagick命令时将获取的颜色传递给命令-transparent "identifiedColor"
?
谢谢!
我需要处理一些PDF到透明PNG的PDF文本只有彩色背景。将透明度设置为不同的彩色背景imageMagick
pdfs有不同的彩色背景,有些是浅灰色的,有些是白色的等,但它们在整个pdf中都是一致的。
imagemagick中有没有一种方法可以识别左上方的像素颜色,并在执行imagemagick命令时将获取的颜色传递给命令-transparent "identifiedColor"
?
谢谢!
解决方案1:磨砂floodfill
convert input.pdf -fill none -fuzz 10% -draw "matte 0,0 floodfill" output.png
也许你将不得不调整短绒率
更多的细节在这里:http://www.imagemagick.org/Usage/draw/#matte
解决方案2:颜色更换
我不能找到一种方法,做一个简单的命令,但是这两个命令应该工作:
白色更换背景颜色(由像素采用[0,0]):
convert input.pdf -fill white -draw "color 0,0 replace" temp.png
化妆白色像素透明:
convert temp.png -transparent white output.png
更多的细节在这里http://www.imagemagick.org/Usage/draw/#color
测试用的ImageMagick 6.6.0-1在Windows
是您的文本黑色或它是彩色的? – Andrea
如果你的文字总是黑色的,那么Andrea的[在其他地方回答](http://stackoverflow.com/questions/15426968/using-imagemagick-to-remove-all-color-except-black-in-an-i-image/20976373 #20976373)应该工作。如果文本的颜色不同,我试图看看你是否可以使用像'-transparent -fx'p {0,0}'-fuzz 1%'这样的东西,但是我无法使它工作。有谁知道使用'-fx'来完成这个的方法吗? –
@Andrea,是的文字是混合的颜色,有些是黑色的,有些是有色的。 – codin