Class RMImageData

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.Cloneable

    public class RMImageData
    extends RMObject
    This class manages image data. Each instance holds the raw image data and provides methods to return attributes of the decoded image.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  RMImageData.ImageReader
      An interface for classes that can handle image reading for RMImageData.
    • Constructor Summary

      Constructors 
      Constructor Description
      RMImageData()
      Returns an empty RMImageData (useless except for legacy unarchival).
      RMImageData​(java.awt.Image anImage)
      Returns an image reader for an image.
      RMImageData​(java.lang.Object aSource, int pageNumber)
      Returns an image data for a given source (and page number, if image type supports it).
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.awt.Image awt()
      Return AWT version of imageData.
      static boolean canRead​(java.lang.String anExt)
      Returns whether given extension is supported.
      boolean equals​(java.lang.Object anObj)
      Standard equals implementation.
      int getAlphaColorIndex()
      Color map support: returns the index of the transparent color in a color map image.
      int getBitsPerPixel()
      Returns the number of bits per pixel (derived from bits per sample and samples per pixel).
      int getBitsPerSample()
      Returns the number of bits per sample (eg, 24 bit RGB image is 8 bits per sample).
      byte[] getBytes()
      Returns the original bytes for the image (loaded from the source).
      byte[] getBytesDecoded()
      Returns the decoded image bytes for the image.
      int getBytesPerRow()
      Returns the number of bytes per row (derived from width and bits per pixel).
      byte[] getColorMap()
      Color map support: returns the bytes of color map from a color map image.
      int getHeight()
      Returns the number of pixels vertically.
      float getHeight2D()
      Returns the actual display height of the image in printer's points using the image DPI if available.
      static RMImageData getImageData​(java.lang.Object aSource, int page)
      Returns an image data loaded from aSource.
      RMShape getImageShape()
      Returns an RMShape representation of image data (for vector image type like PDF).
      java.lang.String getName()
      Returns the name for the image (assigned from our hashCode).
      RMImageData getPage​(int aPage)
      Returns the image data for a successive page.
      int getPageCount()
      Returns the total number of pages for the image.
      int getPageNumber()
      Returns the page number for the image.
      RMImageData.ImageReader getReader()
      Returns the reader used to load the image.
      int getSamplesPerPixel()
      Returns the number of samples per pixel (RGB=3, RGBA=4, GrayScale=1, etc.).
      java.lang.Object getSource()
      Returns the original source for the image (byte[], File, InputStream or whatever).
      java.lang.String getType()
      Returns the type for the image (one of gif, jpg, png, pdf, etc.).
      int getWidth()
      Returns the number of pixels horizontally.
      float getWidth2D()
      Returns the actual display width of the image in printer's points using the image DPI if available.
      boolean hasAlpha()
      Color map support: returns whether color map image has a transparent color.
      boolean hasColorMap()
      Returns whether image uses a color map.
      java.lang.Object initWithArchiver​(RMArchiver anArchiver)
      Legacy unarchival.
      boolean isColor()
      Returns whether the image is non-grayscale.
      boolean isValid()
      Returns whether the image was loaded successfully.
      • Methods inherited from class java.lang.Object

        finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RMImageData

        public RMImageData()
        Returns an empty RMImageData (useless except for legacy unarchival).
      • RMImageData

        public RMImageData​(java.lang.Object aSource,
                           int pageNumber)
        Returns an image data for a given source (and page number, if image type supports it).
      • RMImageData

        public RMImageData​(java.awt.Image anImage)
        Returns an image reader for an image.
    • Method Detail

      • getImageData

        public static RMImageData getImageData​(java.lang.Object aSource,
                                               int page)
        Returns an image data loaded from aSource. If image type supports multiple pages, page number can be specified.
      • canRead

        public static boolean canRead​(java.lang.String anExt)
        Returns whether given extension is supported.
      • getSource

        public java.lang.Object getSource()
        Returns the original source for the image (byte[], File, InputStream or whatever).
      • getBytes

        public byte[] getBytes()
        Returns the original bytes for the image (loaded from the source).
      • getBytesDecoded

        public byte[] getBytesDecoded()
        Returns the decoded image bytes for the image.
      • getName

        public java.lang.String getName()
        Returns the name for the image (assigned from our hashCode).
      • getType

        public java.lang.String getType()
        Returns the type for the image (one of gif, jpg, png, pdf, etc.).
      • getPageNumber

        public int getPageNumber()
        Returns the page number for the image.
      • getPageCount

        public int getPageCount()
        Returns the total number of pages for the image.
      • getWidth

        public int getWidth()
        Returns the number of pixels horizontally.
      • getHeight

        public int getHeight()
        Returns the number of pixels vertically.
      • getWidth2D

        public float getWidth2D()
        Returns the actual display width of the image in printer's points using the image DPI if available.
      • getHeight2D

        public float getHeight2D()
        Returns the actual display height of the image in printer's points using the image DPI if available.
      • isColor

        public boolean isColor()
        Returns whether the image is non-grayscale.
      • getSamplesPerPixel

        public int getSamplesPerPixel()
        Returns the number of samples per pixel (RGB=3, RGBA=4, GrayScale=1, etc.).
      • getBitsPerSample

        public int getBitsPerSample()
        Returns the number of bits per sample (eg, 24 bit RGB image is 8 bits per sample).
      • getBitsPerPixel

        public int getBitsPerPixel()
        Returns the number of bits per pixel (derived from bits per sample and samples per pixel).
      • getBytesPerRow

        public int getBytesPerRow()
        Returns the number of bytes per row (derived from width and bits per pixel).
      • hasAlpha

        public boolean hasAlpha()
        Color map support: returns whether color map image has a transparent color.
      • getAlphaColorIndex

        public int getAlphaColorIndex()
        Color map support: returns the index of the transparent color in a color map image.
      • hasColorMap

        public boolean hasColorMap()
        Returns whether image uses a color map.
      • getColorMap

        public byte[] getColorMap()
        Color map support: returns the bytes of color map from a color map image.
      • getPage

        public RMImageData getPage​(int aPage)
        Returns the image data for a successive page.
      • getImageShape

        public RMShape getImageShape()
        Returns an RMShape representation of image data (for vector image type like PDF).
      • isValid

        public boolean isValid()
        Returns whether the image was loaded successfully.
      • equals

        public boolean equals​(java.lang.Object anObj)
        Standard equals implementation.
        Overrides:
        equals in class java.lang.Object
      • awt

        public java.awt.Image awt()
        Return AWT version of imageData.