org.apache.batik.ext.awt.image
public class GraphicsUtil extends Object
Field Summary | |
---|---|
static AffineTransform | IDENTITY |
static ColorModel | Linear_sRGB
Standard prebuilt Linear_sRGB color model with no alpha |
static ColorModel | Linear_sRGB_Pre
Standard prebuilt Linear_sRGB color model with premultiplied alpha. |
static ColorModel | Linear_sRGB_Unpre
Standard prebuilt Linear_sRGB color model with unpremultiplied alpha. |
static ColorModel | sRGB
Standard prebuilt sRGB color model with no alpha. |
static ColorModel | sRGB_Pre
Standard prebuilt sRGB color model with premultiplied alpha. |
static ColorModel | sRGB_Unpre
Standard prebuilt sRGB color model with unpremultiplied alpha. |
static boolean | WARN_DESTINATION |
Method Summary | |
---|---|
static ColorModel | coerceColorModel(ColorModel cm, boolean newAlphaPreMult)
Create a new ColorModel with it's alpha premultiplied state matching
newAlphaPreMult. |
static ColorModel | coerceData(WritableRaster wr, ColorModel cm, boolean newAlphaPreMult)
Coerces data within a bufferedImage to match newAlphaPreMult,
Note that this can not change the colormodel of bi so you
|
static CachableRed | convertToLsRGB(CachableRed src)
This method will return a CacheableRed that has it's data in
the linear sRGB colorspace. |
static CachableRed | convertTosRGB(CachableRed src)
This method will return a CacheableRed that has it's data in
the sRGB colorspace. |
static void | copyBand(Raster src, int srcBand, WritableRaster dst, int dstBand) |
static void | copyBand(Raster src, Rectangle sR, int sBand, WritableRaster dst, Rectangle dR, int dBand) |
static void | copyData(Raster src, WritableRaster dst)
Copies data from one raster to another. |
static void | copyData(BufferedImage src, BufferedImage dst)
Copies data from one bufferedImage to another paying attention
to the state of AlphaPreMultiplied.
|
static void | copyData(BufferedImage src, Rectangle srcRect, BufferedImage dst, Point destP)
Copies data from one bufferedImage to another paying attention
to the state of AlphaPreMultiplied.
|
static void | copyData_FALLBACK(Raster src, WritableRaster dst) |
static void | copyData_INT_PACK(Raster src, WritableRaster dst)
An internal optimized version of copyData designed to work on
Integer packed data with a SinglePixelPackedSampleModel. |
static WritableRaster | copyRaster(Raster ras)
Creates a new raster that has a copy of the data in
ras. |
static WritableRaster | copyRaster(Raster ras, int minX, int minY)
Creates a new raster that has a copy of the data in
ras. |
static Graphics2D | createGraphics(BufferedImage bi, RenderingHints hints)
This is a wrapper around the system's
BufferedImage.createGraphics that arranges for bi to be stored
in a Rendering hint in the returned Graphics2D.
|
static Graphics2D | createGraphics(BufferedImage bi) |
static void | divideAlpha(WritableRaster wr) |
protected static void | divide_BYTE_COMP_Data(WritableRaster wr) |
protected static void | divide_INT_PACK_Data(WritableRaster wr) |
static void | drawImage(Graphics2D g2d, RenderedImage ri)
Draws ri into g2d. |
static void | drawImage(Graphics2D g2d, CachableRed cr)
Draws cr into g2d. |
static void | drawImage(Graphics2D g2d, RenderableImage filter, RenderContext rc)
Draws a Filter (RenderableImage) into a
Graphics 2D after taking into account a particular
RenderContext. This method also attempts to unwind the rendering chain a bit. |
static void | drawImage(Graphics2D g2d, RenderableImage filter)
Draws a Filter (RenderableImage) into a
Graphics 2D. This method also attempts to unwind the rendering chain a bit. |
static BufferedImage | getDestination(Graphics2D g2d) |
static Rectangle | getDestinationBounds(Graphics2D g2d) |
static ColorModel | getDestinationColorModel(Graphics2D g2d) |
static ColorSpace | getDestinationColorSpace(Graphics2D g2d) |
static boolean | is_BYTE_COMP_Data(SampleModel sm) |
static boolean | is_INT_PACK_Data(SampleModel sm, boolean requireAlpha) |
static BufferedImage | makeLinearBufferedImage(int width, int height, boolean premult)
Constructs a BufferedImage with a linear sRGB colorModel, and alpha. |
static ColorModel | makeLinear_sRGBCM(boolean premult)
Method that returns either Linear_sRGB_Pre or Linear_sRGB_UnPre
based on premult flag. |
static WritableRaster | makeRasterWritable(Raster ras)
Coerces ras to be writable. |
static WritableRaster | makeRasterWritable(Raster ras, int minX, int minY)
Coerces ras to be writable. |
static void | multiplyAlpha(WritableRaster wr) |
protected static void | mult_BYTE_COMP_Data(WritableRaster wr) |
protected static void | mult_INT_PACK_Data(WritableRaster wr) |
static CachableRed | wrap(RenderedImage ri)
Convertes any RenderedImage to a CacheableRed. |
Parameters: cm The ColorModel to change the alpha premult state of. newAlphaPreMult The new state of alpha premult.
Returns: A new colorModel that has isAlphaPremultiplied() equal to newAlphaPreMult.
Parameters: wr The raster to change the state of. cm The colormodel currently associated with data in wr. newAlphaPreMult The desired state of alpha Premult for raster.
Returns: A new colormodel that matches newAlphaPreMult.
Parameters: src The image to convert to linear sRGB.
Returns: An equivilant image to src who's data is in linear sRGB.
Parameters: src The image to convert to sRGB.
Returns: An equivilant image to src who's data is in sRGB.
Parameters: src The source of the data dst The destination for the data.
Parameters: src The source dst The destination
Parameters: src The source srcRect The Rectangle of source data to be copied dst The destination destP The Place for the upper left corner of srcRect in dst.
Parameters: src The source of the data dst The destination for the data.
Parameters: ras The Raster to copy.
Returns: A writable copy of ras
Parameters: ras The Raster to copy. minX The x location for the upper left corner of the returned WritableRaster. minY The y location for the upper left corner of the returned WritableRaster.
Returns: A writable copy of ras
Parameters: bi The BufferedImage that the returned Graphics should draw into.
Returns: A Graphics2D that draws into BufferedImage with bi stored in a rendering hint.
Parameters: g2d The Graphics2D to draw into. ri The image to be drawn.
Parameters: g2d The Graphics2D to draw into. cr The image to be drawn.
This method also attempts to unwind the rendering chain a bit. So it knows about certain operations (like affine, pad, composite), rather than applying each of these operations in turn it accounts for their affects through modifications to the Graphics2D. This avoids generating lots of intermediate images.
Parameters: g2d The Graphics to draw into. filter The filter to draw rc The render context that controls the drawing operation.
This method also attempts to unwind the rendering chain a bit. So it knows about certain operations (like affine, pad, composite), rather than applying each of these operations in turn it accounts for their affects through modifications to the Graphics2D. This avoids generating lots of intermediate images.
Parameters: g2d The Graphics to draw into. filter The filter to draw
Parameters: width The desired width of the BufferedImage height The desired height of the BufferedImage premult The desired state of alpha premultiplied
Returns: The requested BufferedImage.
Parameters: premult True if the ColorModel should have premultiplied alpha.
Returns: a ColorMdoel with Linear sRGB colorSpace and the alpha channel set in accordance with premult
This method should only be used if you need a WritableRaster due to an interface (such as to construct a BufferedImage), but have no intention of modifying the contents of the returned Raster. If you have any doubt about other users of the data in ras, use copyRaster (above).
Parameters: ras The raster to make writable.
Returns: A Writable version of ras (shares DataBuffer with ras).
You can specify a new location for the returned WritableRaster, this is especially useful for constructing BufferedImages which require the Raster to be at (0,0). This method should only be used if you need a WritableRaster due to an interface (such as to construct a BufferedImage), but have no intention of modifying the contents of the returned Raster. If you have any doubt about other users of the data in ras, use copyRaster (above).
Parameters: ras The raster to make writable. minX The x location for the upper left corner of the returned WritableRaster. minY The y location for the upper left corner of the returned WritableRaster.
Returns: A Writable version of ras with it's upper left hand coordinate set to minX, minY (shares it's DataBuffer with ras).
If ri is already a CacheableRed it casts it down and returns it.
In cases where ri is not already a CacheableRed it wraps ri with a helper class. The wrapped CacheableRed "Pretends" that it has no sources since it has no way of inteligently handling the dependency/dirty region calls if it exposed the source.
Parameters: ri The RenderedImage to convert.
Returns: a CacheableRed that contains the same data as ri.