- FileChannelImageInputStream/MappedByteBufferImageInputStream - FileChannelCacheImageInputStream - FileChannelImageOutputStream - FileChannelCacheImageOutputStream - Consider creating a raw ImageReader (or util class?) that can read raw bitmaps: o Interleaved (A)RGB (as in BMP, PICT, IFF PBM etc) -> A1R1G1B1, A2R2G2B2, ..., AnRnGnNn o Channeled (A)RGB (as in Photoshop) -> A1A2...An, R1R2...Rn, G1G2...Gn, B1B2...Bn o Planar RGB (as in IFF ILBM) -> .... Formats that internally have these structures could delegate to an instance of this class. Could also be interesting to allow for raw reading using a RawImageReader. o Would need to specify width, height o bit depth o Pixel layout (planar, channeled, interleaved) o Channel order o Compression? RLE/PackBits/LZW/ZIP? o IndexColorModel? DONE: - Get vendor name/version for SPIs from manifest. Package pkg = getClass().getPackage(); version = pkg.getImplementationVersion(); vendor = pkg.getImplementationVendor(); specTitle = pkg.getSpecificationTitle();