使用遮罩制作透明区域
Make transparent regions using a mask
我有一批图片需要透明背景。我能够创建一个 black/white 较亮和较暗区域的遮罩,并希望使用此遮罩来保持遮罩中白色的像素不变,并将所有像素设置为透明的黑色。迄今为止我得到的最好结果
convert $FILE -rotate "-90<" $ROTATED
convert $ROTATED \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \
$MASK
convert $ROTATED -mask $MASK -compose copy-opacity -composite $OUT
但是最后一个命令只是“重影”了整个图像。如何“剪掉”黑色像素并保持白色像素不变?
这是我目前得到的。
您只需从命令行中删除“-mask”,留下您的掩码图像(并关闭 -alpha)。所以以下在 ImageMagick 6 中对我来说很好用。
输入:
convert star.png \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \
mask.png
convert star.png mask.png -alpha off -compose copy-opacity -composite out.png
掩码:
结果:
下载结果可以看到背景完全透明。
如果使用 Imagemagick 7,则将 convert
更改为 magick
加法
这是使用 MPR 执行此操作的一种方法。注意 +swap.
convert star.png \
-write mpr:star \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \
mpr:star \
+swap \
-alpha off \
-compose copy-opacity -composite \
out.png
您也可以使用克隆和括号来完成。
convert star.png \
\( +clone \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \) \
-alpha off \
-compose copy-opacity -composite \
out.png
我得到与上面相同的结果。
我有一批图片需要透明背景。我能够创建一个 black/white 较亮和较暗区域的遮罩,并希望使用此遮罩来保持遮罩中白色的像素不变,并将所有像素设置为透明的黑色。迄今为止我得到的最好结果
convert $FILE -rotate "-90<" $ROTATED
convert $ROTATED \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \
$MASK
convert $ROTATED -mask $MASK -compose copy-opacity -composite $OUT
但是最后一个命令只是“重影”了整个图像。如何“剪掉”黑色像素并保持白色像素不变?
这是我目前得到的。
您只需从命令行中删除“-mask”,留下您的掩码图像(并关闭 -alpha)。所以以下在 ImageMagick 6 中对我来说很好用。
输入:
convert star.png \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \
mask.png
convert star.png mask.png -alpha off -compose copy-opacity -composite out.png
掩码:
结果:
下载结果可以看到背景完全透明。
如果使用 Imagemagick 7,则将 convert
更改为 magick
加法
这是使用 MPR 执行此操作的一种方法。注意 +swap.
convert star.png \
-write mpr:star \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \
mpr:star \
+swap \
-alpha off \
-compose copy-opacity -composite \
out.png
您也可以使用克隆和括号来完成。
convert star.png \
\( +clone \
+dither \
-colors 2 \
-fill black \
-draw 'color 0,0 floodfill' \
-flop \
-draw 'color 0,0 floodfill' \
-flop \
-white-threshold 0 \) \
-alpha off \
-compose copy-opacity -composite \
out.png
我得到与上面相同的结果。