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 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 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:
equals
in 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:
initWithArchiver
in interfaceRMArchiver.Archiving
- Overrides:
initWithArchiver
in classRMObject
-
-