Posted: 2006-02-16T15:50:11-07:00
ImageMagick unpacks images into separate red, green, blue, and opacity components at the depth its was built at. So even though your image is 1 bits-per-pixel, for the Q8 version it is expanded to 32 bits-per-pixel. If your image has a colormap, it requires 40 bits-per-pixel. For a 20,000 by 15,000 image that means the pixel cache requires about 1.3GB of storage. It would be easy to argue that it is quite inefficient to store 1- bit monochrome images into a 32-bit pixel but when we designed ImageMagick it was the only reasonable solution we could come up with that could handle hundreds of different image formats with tens of different image depths with many different storage formats (e.g. monochrome, colormapped, RGB, RGBA, CMYK, CMYKA, and others) and about a thousand different image-processing algorithms.