The ability of IM to assign 'compose' settings to images is something that has only recently been under consideration.
It is a difficult problem that basically comes down to exactly what
-compose does, and how internally 'settings' are stored.
That is should
-compose XXXX set the image compose meta-data
(an operator) which can be saved with the output image, or should it only define a global setting which -composite and other alpha composition and image layering operators use?
Basically the question comes down to what the following command should do...
Code: Select all
convert -compose DstIn read_images_with_compose_data.psd \
-composite result.png
Should it compose with 'DstIn' or should it compose with whatever compose setting is present in the PSD image?
Also what compose setting should be output in the image meta-data when you do this...
Code: Select all
convert image1 image2 image3 \
-compose DstIn result.psd
or perhaps this...
Code: Select all
convert image1 image2 image3 \
[color=#800000]-set[/color] compose DstIn result.psd
Basically it comes down to the exact meaning of the
-compose option in the IM command line interface.
Proposal,
This is not how things currently work
My thinking is
-compose should remain a setting, whcih defines a global setting that is used by composition operators (-composite, -flatten, -border, -frame, etc etc) and is set overrides any and all compose settings in image meta-data.
If it is not set or unset (using
+compose )
then
I think IM should then and only then use the images own compose meta-data. This is what happens currently with the color settings (like
-background -fill -bordercolor) etc...
I would then have
-set compose be the way users can modify an images 'compose' meta-data (as it is currently used for other meta-data settings) which is what is saved with images to files, or used if the global
-compose is unset.
-compose should not modify or touch image meta-data compose settings in image read in.
This will
in my oppion provide the best of BOTH worlds. simple user control of 'compose' while still allowing, per image, compose controls if people require it.
This also fits other controls.
Well... Except for the settings used to control GIF animation generation, which remains an old style for backward compatibility.
(a global meaning to those setting has little meaning in animation handling) In IM v7 I would recomend that
-delay -dispose -loop options be removed in favor of there -set counter parts.
I have added this to a new (plain text) page on
ImageMgaick version 7 recomendations Which will appear in a day or so.