从命令行使半个图像透明

时间:2016-10-14 04:31:39

标签: ffmpeg imagemagick batch-processing image-manipulation gimp

我真的不知道从哪里开始。我正在尝试做一些我认为用imagemagick完成相对简单的事情,但我不知道确切的命令开始。我需要在图像中绘制一条线,然后使图像上方的所有线条都透明,并使线条下方的所有内容成为原始图像。使用imagemagick实现这一目标的最佳方法是什么?

所以我现在提出的是剪裁图像,然后将其调整为原始大小,但背景为透明。我使用的命令就是这个,但它总是黑色的。我不明白为什么。

my.cnf

感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

这是一种相当简单的方法。首先,如果您的图像没有Alpha通道,请启用Alpha通道,然后通过以下-fx命令选择Alpha通道进行修改。在那里,如果当前j大于图像高度的一半,则使alpha图层不透明,否则透明。比听起来更容易!

所以,使用这个开始图像:

enter image description here

convert bean.jpg -alpha on -channel A -fx "j>h/2?1:0" result.gif

enter image description here

或者,另一种方式:

convert bean.jpg -alpha on -channel A -fx "j<h/2?1:0" result.gif

enter image description here

或另一种方式:

convert bean.jpg -alpha on -channel A -fx "i<w/2?1:0" result.gif

enter image description here

或者,如果你在周五早上感到特别愚蠢......

convert bean.jpg -alpha on -channel A -fx "hypot(i,j)/400-0.8" result.gif

enter image description here