What I want to do right now is load an image file, probably PNG, and rip the pixel/indice and colormodel out, and convert them if needed. But I’m not totally sure on what I may be getting sometimes…
Let’s say I load an image, could be gif/png/whatever the normal way using Toolkit, then use PixelGrabber to get the ColorModel and instanceof says getColorModel() is IndexColorModel, am I guaranteed getPixels() returns a simple array of bytes that are just the indices to the color map? i.e. array of 0-255 values.
Also, say it’s a DirectColorModel, I pretty much want the array of pixels and DirectColorModel to match ColorModel.getRGBDefault(), is there a way to check with certainty that things are as I need them or should I just convert it no matter what?
I pretty much want a class that maintains a memory image source, argb pixel or palettized indice array, an array of IndexColorModel’s to change out the palette if were using a palettized image, and of course, the image created with the MemoryImageSource. I need access the valid pixel or indice info, as well as the image to draw, so i can update it etc…
anyways, the question is, what’s the best way to ensure the data is loaded and conforms both ways? i.e. Palettized images have a byte array of indices 0-255 and otherwise a DefaultColorModel with int[] pixels 0xAARRGGBB.
meh. I hope that made sense to someone.