A Content Handler for an Image Format: image/x-fits
That’s really all there is to
content handlers. As one final example, I’ll show you how to
write a content handler for image files. These differ from the
text-based content handlers you’ve already seen in that they
generally produce an object that implements the
java.awt.ImageProducer
interface rather than an
Input Stream
object. The specific example
we’ll choose is the Flexible Image Transport System (FITS) format in common use among
astronomers. FITS files are grayscale, bitmapped images with headers
that determine the bit depth of the picture, the width and the height
of the picture, and the number of pictures in the file. Although FITS
files commonly contain several images (typically pictures of the same
thing taken at different times), in this example we look at only the
first image in a file.[29]
There are a few key things you need to know to process FITS files. First, FITS files are broken up into blocks of exactly 2,880 bytes. If there isn’t enough data to fill a block, it is padded with spaces at the end. Each FITS file has two parts, the header and the primary data unit. The header occupies an integral number of blocks, as does the primary data unit. If the FITS file contains extensions, there may be additional data after the primary data unit, but we ignore that here. Any extensions that are present will not change the image contained in the primary data unit.
The header begins in the first block of the FITS file. ...
Get Java Network Programming, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.