Package com.jhlabs.image
Class ImageUtils
- java.lang.Object
-
- com.jhlabs.image.ImageUtils
-
public abstract class ImageUtils extends java.lang.ObjectA 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.BufferedImagecloneImage(java.awt.image.BufferedImage image)Clones a BufferedImage.static voidcomposeThroughMask(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.BufferedImageconvertImageToARGB(java.awt.Image image)Convert an Image into a TYPE_INT_ARGB BufferedImage.static java.awt.image.BufferedImagecreateImage(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.RectanglegetSelectedBounds(java.awt.image.BufferedImage p)Calculates the bounds of the non-transparent parts of the given image.static java.awt.image.BufferedImagegetSubimage(java.awt.image.BufferedImage image, int x, int y, int w, int h)Returns a *copy* of a subimage of image.static voidpaintCheckedBackground(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 voidsetRGB(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[])
-
-