“Your comments made me dig into the code and figure out what is happening”Yeah, I didn’t want to push this topic because it would be nice from me to read the source code and give you some C++ code examples. But the fact is I’m not a real programmer and I don’t understand it.
But in theory, I think, ImageMagick should behave just the opposite way:
C:\> magick bigFatSadImage.tif -tryReduceTheNumberOfChannels smallHealthyHappyImage.tif
In other way, if the users want to create a single black pixel on the center of a big white background and store this as a 64-bit transparent HDR image (and load into ImageMagick without the need to set any property), give them the tools to do it (we have the rights to be stupid!:) ).Of course this can be used really for testing purposes. Then if they want to reduce the size of their images:-tryReduceTheNumberOfChannels
-
Check if the 64-bit image contains unnecessary channels and try to remove all of it and so on…
- Check if the 16-bit channels contain such information that can be represented as 8-bit without loss of information
-
Check if the 8-bit channels can be represented as indexed
About ColorSpace:
“If you want some more information on how ImageMagick interprets color spaces you should visit the following page:”Yeah, I read that page before. Do I understand it? Well, that’s a different question.:)
I think the following words have many different meanings depending on where I read them and who uses them: ColorModel, ColorSpace, sRGB, linear RGB, RGB ColorSpace, RGB ColorSpaces.
I tried to translate them for myself, I only tried it :)
RGB ColorSpaces : ColorSpaces based on the RBG ColorModel
RGB ColorSpace 1: linear RGB (mostly converted but unprocessed camera raw images are in this form, I think ImageMagick uses this term too)
RGB ColorSpace 2: RGB ColorModel (often found on the wiki pages)
sRGB : ColorSpace based on the RGB ColorModel (most of the images and monitors(or at least they claim that) use this colorSpace)
If you want you can correct this.