Package digilib.image
Interface DocuImage
- All Known Implementing Classes:
- DocuImageImpl,- ImageInfoDocuImage,- ImageLoaderDocuImage
public interface DocuImage
The basic class for the representation of a digilib image.
 
 The actual image object is hidden in the class, only methods for loading,
 manipulation, and saving are exported. This strategy enables implementations
 using different toolkits that rely on different image base classes (like
 JIMI, Java2D and JAI).
- 
Nested Class SummaryNested Classes
- 
Method SummaryModifier and TypeMethodDescriptionvoidChanges the colors of the current image.voidcrop(int xoff, int yoff, int width, int height) Crops the current image.voidcropAndScale(int x_off, int y_off, int width, int height, double scale, int qual) Crops and scales the current image.voiddispose()Frees all resources bound to the DocuImage.voidenhance(float mult, float add) Enhances brightness and contrast of the current image.voidenhanceRGB(float[] rgbm, float[] rgba) Manipulates the colors of the current image.returns the underlying image as java.awt.Image (if possible, or null)Return String representation of implementation specific image hacks.intThe height of the current image in pixel.Returns the image specific hint with the given key.The mime-type of the image, i.e.intReturns the interpolation quality.getSize()The size of the current image in pixel.Returns the list of supported image formats.returns the version of the DocuImage implementation.intgetWidth()The width of the current image in pixel.identify(ImageInput ii) Check image size and type and store in ImageInput iibooleanThis DocuImage supports the loadSubImage operation.voidloadImage(ImageInput ii) Loads an image file into the Object.voidloadSubimage(ImageInput ii, Rectangle region, int subsample) Load only a subsampled region of the image file.voidmirror(double angle) Mirrors the current image.voidrotate(double angle) Rotates the current image.voidscale(double scaleX, double scaleY) Scales the current image.voidSet implementation specific image hacks.voidSet optional image specific hints with additional information.voidsetQuality(int quality) Sets the interpolation quality.voidsetReaderClasses(Map<String, String> typeClassMap) Set preferred image reader classes.voidsetWriterClasses(Map<String, String> typeClassMap) Set preferred image writer classes.voidwriteImage(String mt, OutputStream ostream) Writes the current image to an OutputStream.
- 
Method Details- 
loadImageLoads an image file into the Object.- Parameters:
- ii- Image File.
- Throws:
- FileOpException- Exception thrown if any error occurs.
 
- 
isSubimageSupportedboolean isSubimageSupported()This DocuImage supports the loadSubImage operation.- Returns:
- if loadSubImage is supported
 
- 
loadSubimageLoad only a subsampled region of the image file.- Parameters:
- ii- the ImageInput
- region- the region
- subsample- the subsample
- Throws:
- FileOpException- on error
 
- 
writeImageWrites the current image to an OutputStream. The image is encoded to the mime-typemtand sent to the output streamostream. Currently only mime-types "image/jpeg", "image/png" and "image/webp" are supported.- Parameters:
- mt- mime-type of the image to be sent.
- ostream- OutputStream where the image is sent.
- Throws:
- ImageOpException- Exception in other cases.
- FileOpException- Exception on sending data
 
- 
getWidthint getWidth()The width of the current image in pixel.- Returns:
- Image width in pixels.
 
- 
getHeightint getHeight()The height of the current image in pixel.- Returns:
- Image height in pixels.
 
- 
getSizeImageSize getSize()The size of the current image in pixel.- Returns:
- the ImageSize
 
- 
getMimetypeString getMimetype()The mime-type of the image, i.e. the mime-type of the input that was read.- Returns:
- String the mime-type of this image.
 
- 
cropCrops the current image. Cuts out a region of the sizewidthxheightat the offsetxoff,yofffrom the current image and replaces the current image with the result.- Parameters:
- xoff- X offset of crop region
- yoff- Y offset of crop region
- width- width of crop region
- height- height of crop region
- Throws:
- ImageOpException- on error
 
- 
scaleScales the current image. Replaces the current image with an image scaled by the factorscale.- Parameters:
- scaleX- the scaleX
- scaleY- the scaleY
- Throws:
- ImageOpException- on error
 
- 
cropAndScalevoid cropAndScale(int x_off, int y_off, int width, int height, double scale, int qual) throws ImageOpException Crops and scales the current image. The current image is cropped to a rectangle ofwidth,heightat positionx_off,y_off. The resulting image is scaled by the factorscaleusing the interpolation qualityqual(0=worst).- Parameters:
- x_off- x offset of the crop rectangle in pixel.
- y_off- y offset of the crop rectangle in pixel.
- width- width of the crop rectangle in pixel.
- height- height of the crop rectangle in pixel.
- scale- scaling factor.
- qual- interpolation quality (0=worst).
- Throws:
- ImageOpException- exception thrown on any error.
 
- 
rotateRotates the current image. Replaces the current image with a rotated image. The image is rotated around the center by theanglegiven in degrees [0, 360] clockwise. Image size and aspect ratio are likely to change.- Parameters:
- angle- rotation angle in degree
- Throws:
- ImageOpException- on error
 
- 
mirrorMirrors the current image. Replaces the current image with a mirrored image. The mirror axis goes through the center of the image and is rotated byangledegrees. Currently only horizontal and vertical mirroring (0 and 90 degree) are supported.- Parameters:
- angle- angle of mirror axis
- Throws:
- ImageOpException- on error
 
- 
enhanceEnhances brightness and contrast of the current image. Replaces the current image with a brightness and contrast enhanced image. Contrast is enhanced by multiplying the pixel value with the constantmult. Brightness is enhanced by adding the constantaddto the pixel value. Operation: p1 = (p0*mult)+add.- Parameters:
- mult- multiplicative constant for contrast enhancement
- add- additive constant for brightness enhancement
- Throws:
- ImageOpException- on error
 
- 
enhanceRGBManipulates the colors of the current image. Replaces the current image with a color modified image. For the red, green and blue color channels all pixel values are multiplied by the constantmand added to the constanta. Operation: p1 = (p0*m)+a.- Parameters:
- rgbm- multiplicative constants for red, green, blue
- rgba- additive constant for red, green, blue
- Throws:
- ImageOpException- on error
 
- 
colorOpChanges the colors of the current image. Changes the colors of the current image. Operations are instances of ColorOp: GRAYSCALE: cast color image to grayscale NTSC_GRAY: convert color image to grayscale using NTSC formula INVERT: invert colors (every channel separately) MAP_GRAY_BGR: false color image from grayscale (0: blue, 128: green, 255: red)- Parameters:
- op- the ColorOp
- Throws:
- ImageOpException- on error
 
- 
getQualityint getQuality()Returns the interpolation quality.- Returns:
- int the quality
 
- 
setQualityvoid setQuality(int quality) Sets the interpolation quality.- Parameters:
- quality- The quality to set
 
- 
disposevoid dispose()Frees all resources bound to the DocuImage. Things that should be freed are image objects and open files.
- 
identifyCheck image size and type and store in ImageInput ii- Parameters:
- ii- the ImageInput
- Returns:
- the ImageInput
- Throws:
- IOException- on error
 
- 
getSupportedFormatsReturns the list of supported image formats.- Returns:
- the list of supported image formats
 
- 
getAwtImageImage getAwtImage()returns the underlying image as java.awt.Image (if possible, or null)- Returns:
- the Image
 
- 
getVersionString getVersion()returns the version of the DocuImage implementation.- Returns:
- the version
 
- 
setHacksSet implementation specific image hacks. Sets static class members. Needs to be called only once per class. Format: comma separated key=value pairs (no spaces!).- Parameters:
- hackString- the hackString
 
- 
getHacksAsStringString getHacksAsString()Return String representation of implementation specific image hacks.- Returns:
- the hackstring
 
- 
setHintSet optional image specific hints with additional information.- Parameters:
- key- the key
- value- the value
 
- 
getHintReturns the image specific hint with the given key.- Parameters:
- key- the key
- Returns:
- the hint
 
- 
setReaderClassesSet preferred image reader classes. Configured with a Map containing content-type and class-name. Sets static class members. Needs to be called only once per class.- Parameters:
- typeClassMap-
 
- 
setWriterClassesSet preferred image writer classes. Configured with a Map containing content-type and class-name. Sets static class members. Needs to be called only once per class.- Parameters:
- typeClassMap-
 
 
-