Package com.jhlabs.image
Class ImageUtils
- java.lang.Object
-
- com.jhlabs.image.ImageUtils
-
public abstract class ImageUtils extends java.lang.Object
A class containing some static utility methods for dealing with BufferedImages.
-
-
Constructor Summary
Constructors Constructor Description ImageUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.awt.image.BufferedImage
cloneImage(java.awt.image.BufferedImage image)
Clones a BufferedImage.static void
composeThroughMask(java.awt.image.Raster src, java.awt.image.WritableRaster dst, java.awt.image.Raster sel)
Compose src onto dst using the alpha of sel to interpolate between the two.static java.awt.image.BufferedImage
convertImageToARGB(java.awt.Image image)
Convert an Image into a TYPE_INT_ARGB BufferedImage.static java.awt.image.BufferedImage
createImage(java.awt.image.ImageProducer producer)
Cretae a BufferedImage from an ImageProducer.static int[]
getRGB(java.awt.image.BufferedImage image, int x, int y, int width, int height, int[] pixels)
A convenience method for getting ARGB pixels from an image.static java.awt.Rectangle
getSelectedBounds(java.awt.image.BufferedImage p)
Calculates the bounds of the non-transparent parts of the given image.static java.awt.image.BufferedImage
getSubimage(java.awt.image.BufferedImage image, int x, int y, int w, int h)
Returns a *copy* of a subimage of image.static void
paintCheckedBackground(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
Paint a check pattern, used for a background to indicate image transparency.static void
setRGB(java.awt.image.BufferedImage image, int x, int y, int width, int height, int[] pixels)
A convenience method for setting ARGB pixels in an image.
-
-
-
Method Detail
-
createImage
public static java.awt.image.BufferedImage createImage(java.awt.image.ImageProducer producer)
Cretae a BufferedImage from an ImageProducer.- Parameters:
producer
- the ImageProducer- Returns:
- a new TYPE_INT_ARGB BufferedImage
-
convertImageToARGB
public static java.awt.image.BufferedImage convertImageToARGB(java.awt.Image image)
Convert an Image into a TYPE_INT_ARGB BufferedImage. If the image is already of this type, the original image is returned unchanged.- Parameters:
image
- the image to convert- Returns:
- the converted image
-
getSubimage
public static java.awt.image.BufferedImage getSubimage(java.awt.image.BufferedImage image, int x, int y, int w, int h)
Returns a *copy* of a subimage of image. This avoids the performance problems associated with BufferedImage.getSubimage.- Parameters:
image
- the imagex
- the x positiony
- the y positionw
- the widthh
- the height- Returns:
- the subimage
-
cloneImage
public static java.awt.image.BufferedImage cloneImage(java.awt.image.BufferedImage image)
Clones a BufferedImage.- Parameters:
image
- the image to clone- Returns:
- the cloned image
-
paintCheckedBackground
public static void paintCheckedBackground(java.awt.Component c, java.awt.Graphics g, int x, int y, int width, int height)
Paint a check pattern, used for a background to indicate image transparency.- Parameters:
c
- the component to draw intog
- the Graphics objectsx
- the x positiony
- the y positionwidth
- the widthheight
- the height
-
getSelectedBounds
public static java.awt.Rectangle getSelectedBounds(java.awt.image.BufferedImage p)
Calculates the bounds of the non-transparent parts of the given image.- Parameters:
p
- the image- Returns:
- the bounds of the non-transparent area
-
composeThroughMask
public static void composeThroughMask(java.awt.image.Raster src, java.awt.image.WritableRaster dst, java.awt.image.Raster sel)
Compose src onto dst using the alpha of sel to interpolate between the two. I can't think of a way to do this using AlphaComposite.- Parameters:
src
- the source rasterdst
- the destination rastersel
- the mask raster
-
getRGB
public static int[] getRGB(java.awt.image.BufferedImage image, int x, int y, int width, int height, int[] pixels)
A convenience method for getting ARGB pixels from an image. This tries to avoid the performance penalty of BufferedImage.getRGB unmanaging the image.- Parameters:
image
- a BufferedImage objectx
- the left edge of the pixel blocky
- the right edge of the pixel blockwidth
- the width of the pixel arryheight
- the height of the pixel arrypixels
- the array to hold the returned pixels. May be null.- Returns:
- the pixels
- See Also:
setRGB(java.awt.image.BufferedImage, int, int, int, int, int[])
-
setRGB
public static void setRGB(java.awt.image.BufferedImage image, int x, int y, int width, int height, int[] pixels)
A convenience method for setting ARGB pixels in an image. This tries to avoid the performance penalty of BufferedImage.setRGB unmanaging the image.- Parameters:
image
- a BufferedImage objectx
- the left edge of the pixel blocky
- the right edge of the pixel blockwidth
- the width of the pixel arryheight
- the height of the pixel arrypixels
- the array of pixels to set- See Also:
getRGB(java.awt.image.BufferedImage, int, int, int, int, int[])
-
-