ImageMagick - How do I flatten white levels to pur

2020-07-11 06:47发布

问题:

I have a png image with a white background which I'd like to turn transparent. This is fairly simple with this command:

$ convert image.png -transparent white image-trans.png

However, if the white background is not completely white (i.e, #FFFFFF, rgb(255,255,255), etc), then this doesn't work well.

Is there a way to set reduce everything below a certain threshold to complete white? Thanks.

回答1:

The commandline option you are looking for is

-white-threshold value{%}

So a command of

convert image.png \
  -white-threshold 90% \
  -transparent white \
   image-trans.png

Note: Order of the respective parameters is significant! (You want first to convert all the light-gray pixels to white, then all white pixels to transparent.)

Works for me with 'ImageMagick version 6.7.8-0 2012-07-12 Q16'...