[magick-users] selecting all but a color?
Anthony Thyssen
anthony at griffith.edu.au
Thu Jun 14 17:44:19 PDT 2007
David Vanderson on wrote...
| Anthony Thyssen wrote:
| > David Vanderson on wrote...
| > | Hello,
| > |
| > | Does anyone have a suggestion for how to select everything that's not a
| > | specific color?
| > |
| > | For instance, in the following command I'm trying to make everything but
| > | magenta transparent:
| > | convert -channel "RGBA" -colorspace "rgb" in.png +matte -transparent
| > | "magenta" -fill "black" -colorize "100%" -background "magenta" -flatten
| > | -transparent "black" out.png
| > |
| > | This does work but seems overly complicated. I'm hoping there's a more
| > | straightforward way.
| > |
| > There is currently no negated -opaque operator.
| > You also do not need the -channel or the -colorspace options in the
| > above.
| >
| > So the above basically uses the selected color as a mask to invert the
| > result.
| >
| > An alturnative is to use the NEW change_mask composite operator..
| > Which I added to IM v6.3.4
| > http://www.imagemagick.org/Usage/compose/#changemask
| >
| > convert in.png \( +clone +matte -fill magenta -colorize "100%" \) \
| > -compose ChangeMask -composite out.png
| >
| > This compares each color in the in.png with another 'all magenta' image
| > that is the same size, and makes anything that is the same transparent.
| >
| > That is what is magenta is cleared.
| >
| > To invert, compare the image to itself, but with the magenta colors
| > changed, to anything else!
| >
| > convert in.png \( +clone -fill black -opaque magenta \)
| > -compose ChangeMask -composite out.png
| >
| > The parts of the first (original) image that changed color (magenta
| > areas) will be returned.
| >
| >
| > You can check if your IM has this Alpha Composition method using...
| > convert -list composite | grep ChangeMask
| >
| > It was added to allow changes from one frame to the next to be detected
| > and simplified for a new GIF Animation Compression Optimization,
| > "-layers OptimizeTransparency" to make animation file sizes smaller.
| > http://www.imagemagick.org/Usage/anim_opt/#opt_trans
| >
| > It was also incorperated into the General GIF Optimizer operator...
| > "-layers Optimize"
| > http://www.imagemagick.org/Usage/anim_opt/#optimize
| >
| >
| This is the best response I've ever gotten on any mailing list. Thank
| you very much Anthony.
You can also try the IM Discussion forums.
http://www.imagemagick.org/discourse-server/
Anthony Thyssen ( System Programmer ) <A.Thyssen at griffith.edu.au>
-----------------------------------------------------------------------------
REALITY.SYS Corrupted - Unable to recover Universe
-----------------------------------------------------------------------------
Anthony's Home is his Castle http://www.cit.gu.edu.au/~anthony/
More information about the Magick-users
mailing list