Вот мой код:Замените только цвет фона PNG
#! /usr/bin/env sh
# Generate test image.
convert -size 100x60 xc:blue -fill blue -stroke black -draw "circle 50,30 55,55" in.png
# Make background transparent.
convert in.png -fill none -draw 'matte 0,0 floodfill' -flop -draw 'matte 0,0 floodfill' -flop out.png
# Replace transparent background with green.
mogrify -background green -flatten out.png
# The wrong way.
convert in.png -transparent blue oops.png
mogrify -background green -flatten oops.png
Он основан на этом фрагменте: https://snippets.aktagon.com/snippets/558-how-to-remove-a-background-with-imagemagick
Начиная с этого:
Я хочу, чтобы получить это:
Не так:
Могу ли я добиться этого с одной convert
команды вместо convert
с последующим mogrify
?
Я использую ImageMagick 6.8.9-9.
Чтобы заполнить прозрачность вместо цвета, используйте: 'convert in.png -fill none -draw 'color 0,0 floodfill' result.png'. – Erik