Package com.reportmill.graphics
Class RMImageData
- java.lang.Object
-
- com.reportmill.base.RMObject
-
- com.reportmill.graphics.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 interfaceRMImageData.ImageReaderAn 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.Imageawt()Return AWT version of imageData.static booleancanRead(java.lang.String anExt)Returns whether given extension is supported.booleanequals(java.lang.Object anObj)Standard equals implementation.intgetAlphaColorIndex()Color map support: returns the index of the transparent color in a color map image.intgetBitsPerPixel()Returns the number of bits per pixel (derived from bits per sample and samples per pixel).intgetBitsPerSample()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.intgetBytesPerRow()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.intgetHeight()Returns the number of pixels vertically.floatgetHeight2D()Returns the actual display height of the image in printer's points using the image DPI if available.static RMImageDatagetImageData(java.lang.Object aSource, int page)Returns an image data loaded from aSource.RMShapegetImageShape()Returns an RMShape representation of image data (for vector image type like PDF).java.lang.StringgetName()Returns the name for the image (assigned from our hashCode).RMImageDatagetPage(int aPage)Returns the image data for a successive page.intgetPageCount()Returns the total number of pages for the image.intgetPageNumber()Returns the page number for the image.RMImageData.ImageReadergetReader()Returns the reader used to load the image.intgetSamplesPerPixel()Returns the number of samples per pixel (RGB=3, RGBA=4, GrayScale=1, etc.).java.lang.ObjectgetSource()Returns the original source for the image (byte[], File, InputStream or whatever).java.lang.StringgetType()Returns the type for the image (one of gif, jpg, png, pdf, etc.).intgetWidth()Returns the number of pixels horizontally.floatgetWidth2D()Returns the actual display width of the image in printer's points using the image DPI if available.booleanhasAlpha()Color map support: returns whether color map image has a transparent color.booleanhasColorMap()Returns whether image uses a color map.java.lang.ObjectinitWithArchiver(RMArchiver anArchiver)Legacy unarchival.booleanisColor()Returns whether the image is non-grayscale.booleanisValid()Returns whether the image was loaded successfully.-
Methods inherited from class com.reportmill.base.RMObject
clone, copy, didChange, didUndo, getAnimAttribute, getClassNameShort, undoClone, undoCopy, undoEquals
-
-
-
-
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).
-
getReader
public RMImageData.ImageReader getReader()
Returns the reader used to load the image.
-
isValid
public boolean isValid()
Returns whether the image was loaded successfully.
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.- Overrides:
equalsin classjava.lang.Object
-
awt
public java.awt.Image awt()
Return AWT version of imageData.
-
initWithArchiver
public java.lang.Object initWithArchiver(RMArchiver anArchiver)
Legacy unarchival.- Specified by:
initWithArchiverin interfaceRMArchiver.Archiving- Overrides:
initWithArchiverin classRMObject
-
-