Mercurial > hg > digilib-old
view servlet/src/digilib/image/ImageInfoDocuImage.java @ 590:69bc69381ac4 stream
more work on stream input and more cleanup
author | robcast |
---|---|
date | Thu, 06 Jan 2011 20:42:29 +0100 |
parents | aee436f0549d |
children | 2b58d2783ef0 |
line wrap: on
line source
/** * */ package digilib.image; import java.io.IOException; import java.io.RandomAccessFile; import org.marcoschmidt.image.ImageInfo; import digilib.io.ImageInput; /** Simple abstract implementation of the <code>DocuImage</code> interface. * Implements only the identify method using the ImageInfo class. * @author casties * */ public abstract class ImageInfoDocuImage extends DocuImageImpl { /* Check image size and type and store in ImageFile f */ public ImageInput identify(ImageInput ii) throws IOException { logger.debug("identifying (ImageInfo) " + ii); // set up ImageInfo object ImageInfo iif = new ImageInfo(); if (ii.hasImageInputStream()) { iif.setInput(ii.getImageInputStream()); } else if (ii.hasFile()) { RandomAccessFile raf = new RandomAccessFile(ii.getFile(), "r"); iif.setInput(raf); } else { return null; } iif.setCollectComments(false); iif.setDetermineImageNumber(false); // try with ImageInfo first if (iif.check()) { ImageSize d = new ImageSize(iif.getWidth(), iif.getHeight()); ii.setSize(d); ii.setMimetype(iif.getMimeType()); logger.debug("image size: " + ii.getSize()); return ii; } return null; } }