Image processing 如何使用图像魔术将图像淡入蓝色?
很像这个问题,我试图实现一个淡入淡出,但一个恒定的颜色,而不是淡入透明,如何能淡出所有的边缘,去蓝色,而不是透明? 我尝试了以下方法:Image processing 如何使用图像魔术将图像淡入蓝色?,image-processing,imagemagick,png,imagemagick-convert,Image Processing,Imagemagick,Png,Imagemagick Convert,很像这个问题,我试图实现一个淡入淡出,但一个恒定的颜色,而不是淡入透明,如何能淡出所有的边缘,去蓝色,而不是透明? 我尝试了以下方法: convert doge.png -alpha set -virtual-pixel transparent -background blue -channel A -morphology Distance Euclidean:1,20\! +channel _doge.png convert doge.png -alpha set -virtual-pixe
convert doge.png -alpha set -virtual-pixel transparent -background blue -channel A -morphology Distance Euclidean:1,20\! +channel _doge.png
convert doge.png -alpha set -virtual-pixel Blue -channel A -morphology Distance Euclidean:1,20\! +channel _doge.png
没有成功。我还考虑了渐晕,它在我的矩形图像上产生了非常拉伸的椭圆形,使它们不具有吸引力,因此我需要保持渐晕为黑色的矩形,如果我可以使用此渐晕来产生渐晕为黑色,这就足够了
在第一个命令之前和之后,我得到以下信息:
,
第二个命令出现以下错误:
convert: unrecognized virtual pixel method `Blue' @ error/convert.c/ConvertImageCommand/3177.
你在阿尔法通道上做形态学,但是红色和绿色通道呢
convert doge.png -alpha set -virtual-pixel transparent -background blue \
-channel RG -morphology Distance Euclidean:1,20\! +channel _doge.png
您可以通过在Imagemagick 6中执行以下操作来完成此操作。我创建了一个黑色图像并线性模糊边缘,而不是高斯模糊。然后,我用它作为遮罩,将图像与蓝色图像混合,生成结果
convert doge.png \
\( -clone 0 -fill blue -colorize 100 \) \
\( -clone 0 -fill black -colorize 100 -virtual-pixel white -blur 100x65000 \) \
-compose over -composite \
result.png
也可以使用类似高斯的模糊,如下所示:
convert doge.png \
\( -clone 0 -fill blue -colorize 100 \) \
\( -clone 0 -fill black -colorize 100 -virtual-pixel white -blur 0x50 \) \
-compose over -composite \
result2.png
以下是较小的模糊距离:
convert doge.png \
\( -clone 0 -fill blue -colorize 100 \) \
\( -clone 0 -fill black -colorize 100 -virtual-pixel white -blur 20x65000 \) \
-compose over -composite \
result3.png
如果您希望它更深蓝,那么您可以使用-level操作符控制它:
convert doge.png \
\( -clone 0 -fill blue -colorize 100 \) \
\( -clone 0 -fill black -colorize 100 -virtual-pixel white -blur 20x65000 -level 0x50% \) \
-compose over -composite \
result4.png
对于Imagemagick 7,请使用magick而不是转换。emcconville出色的Imagemagick答案的一个细微变化是保持透明度并与蓝色对比
convert doge.png \
-alpha set -virtual-pixel transparent -channel A -morphology Distance Euclidean:1,20\! +channel \
-background blue -compose over -flatten \
result.png
上面提供了几个很好的答案,但这里有一个稍微不同的方法。读取输入图像,克隆它,将其着色为黑色,将其剃掉一些,并添加一个蓝色边框,使黑色透明,模糊蓝色边框,然后在原始输入上合成。命令可能看起来像这样
convert input.png -bordercolor blue -fill black \
\( +clone -colorize 100 -shave 10 -border 10 \
-transparent black -blur 0x10 \) -composite result.png
前后图像会有帮助。@MarkSetchell你以为你想淡入蓝色?是的,问题就在这里,不是淡入蓝色,而是透明!我如何使图像魔术褪色为一种颜色,而不是透明