Imagemagick任意大小/比率渐变

时间:2018-10-18 22:02:22

标签: image-processing imagemagick

是否可以从左下角到右上角应用平滑的对角渐变叠加保留原始颜色,如下所示?

enter image description here

可能听起来很简单,但是实际的图像大小事先未知。

1 个答案:

答案 0 :(得分:1)

也许这就是您想要的。使用Imagemagick 6,我创建了一个对角渐变,其左下角为蓝色,右上角为红色,然后将20%/ 80%与具有该渐变的原始图像混合。

Imagemagick使用-sparse-color barycentric语法自动从%w和%h获取(克隆/复制的)图像的尺寸以创建渐变。参见https://imagemagick.org/Usage/canvas/#diagonal_gradients

输入: enter image description here

convert input.jpg \
\( +clone -sparse-color barycentric '0,%h blue  %w,0 red' +write gradient.jpg \) \
-define compose:args=20,80 -compose blend -composite \
result.jpg


enter image description here

在上面,我保存渐变图像只是为了表明它已正确创建:

enter image description here

或者,您可以将渐变的Alpha通道设置为20%,然后使用compose over。

convert input.jpg \
\( +clone -sparse-color barycentric '0,%h blue  %w,0 red' -alpha set -channel alpha -evaluate set 20% +channel \) \
-compose over -composite \
result2.jpg


enter image description here