BufferedImageHelper (OpenMap API)
Date: 2016-12-09

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bbn.openmap.image
Class BufferedImageHelper

    java.lang.Object
      com.bbn.openmap.image.BufferedImageHelper

    public class BufferedImageHelper

extends java.lang.Object

This class provides some utility methods for creating a BufferedImage. It will check to see if the Java Advanced Image package is available and use it if it can.

Author:
  dietrick - original implementation and reflection mods., Fredrik Lyden - JAI inspiration and initial code.

Field Summary
`protected static java.util.logging.Logger` | `logger`

Method Summary
`static java.awt.image.BufferedImage` | `getBufferedImage(javax.swing.ImageIcon ii, int x, int y, int w, int h, boolean hasAlpha)` Return a BufferedImage loaded from a URL.
`static java.awt.image.BufferedImage` | `getBufferedImage(java.awt.Image image, int x, int y, int w, int h)` Return a BufferedImage loaded from a Image.
`static java.awt.image.BufferedImage` | `getBufferedImage(java.awt.Image image, int x, int y, int w, int h, int imageType)` Return a BufferedImage loaded from a Image.
`static java.awt.image.BufferedImage` | `getBufferedImage(java.lang.String path)` Return a BufferedImage loaded from a file path.
`static java.awt.image.BufferedImage` | `getBufferedImage(java.lang.String path, int x, int y, int w, int h)` Return a BufferedImage loaded from an image file path.
`static java.awt.image.BufferedImage` | `getBufferedImage(java.net.URL url)` Return a BufferedImage loaded from a URL.
`static java.awt.image.BufferedImage` | `getBufferedImage(java.net.URL url, int x, int y, int w, int h)` Return a BufferedImage loaded from a URL.
`static java.awt.image.BufferedImage` | `getBufferedImageFromPixelGrabber(java.awt.Image image, int x, int y, int w, int h, int imageType)` Return a BufferedImage loaded from a Image, using a PixelGrabber.
`protected static java.lang.Object` | `getJAI()` Get the JAI class if it's available.
`static java.awt.image.BufferedImage` | `getJAIBufferedImage(java.lang.String opName, java.lang.Object param)` Run the operation on JAI to create BufferedImage.
`static java.awt.image.BufferedImage` | `getJAIBufferedImage(java.lang.String opName, java.lang.Object param, int x, int y, int w, int h)` Run the operation on JAI to create BufferedImage.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### logger

    protected static java.util.logging.Logger logger

Method Detail

### getJAI

    protected static java.lang.Object getJAI()

  Get the JAI class if it's available.

### getJAIBufferedImage

    public static java.awt.image.BufferedImage getJAIBufferedImage(java.lang.String opName,
                                                                   java.lang.Object param)

  Run the operation on JAI to create BufferedImage. Uses reflection to determine if JAI is available.

  Parameters:
    `opName` - JAI opName, like "file" or "url"
    `param` - JAI object to use for operation, like the file path (String) or URL.
  Returns:
    BufferedImage if JAI can be used to create it, null if anything goes wrong.

### getJAIBufferedImage

    public static java.awt.image.BufferedImage getJAIBufferedImage(java.lang.String opName,
                                                                   java.lang.Object param,
                                                                   int x,
                                                                   int y,
                                                                   int w,
                                                                   int h)
                                                            throws java.lang.InterruptedException

  Run the operation on JAI to create BufferedImage. Uses reflection to determine if JAI is available. If x or y is not zero, or w and h are not the image dimensions, the image returned will be cropped/translated to match the values.

  Parameters:
    `opName` - JAI opName, like "file" or "url"
    `param` - JAI object to use for operation, like the file path (String) or URL.
    `x` - x start pixel
    `y` - y start pixel
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
  Returns:
    BufferedImage if JAI can be used to create it, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(java.net.URL url)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from a URL.

  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(java.net.URL url,
                                                                int x,
                                                                int y,
                                                                int w,
                                                                int h)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from a URL. If JAI isn't available, checks the file path to see if it ends in jpg or jpeg, and won't try to use an alpha channel if it does.

  Parameters:
    `url` - the source URL
    `x` - x start pixel
    `y` - y start pixel
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(javax.swing.ImageIcon ii,
                                                                int x,
                                                                int y,
                                                                int w,
                                                                int h,
                                                                boolean hasAlpha)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from a URL. Doesn't use JAI if available.

  Parameters:
    `ii` - an ImageIcon created from the source.
    `x` - x start pixel
    `y` - y start pixel
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
    `hasAlpha` - whether the image should be transparent.
  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(java.lang.String path)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from a file path.

  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(java.lang.String path,
                                                                int x,
                                                                int y,
                                                                int w,
                                                                int h)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from an image file path. If JAI isn't available, checks the file path to see if it ends in jpg or jpeg, and won't try to use an alpha channel if it does.

  Parameters:
    `path` - file path to the image
    `x` - x start pixel
    `y` - y start pixel
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(java.awt.Image image,
                                                                int x,
                                                                int y,
                                                                int w,
                                                                int h)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from a Image. The type of image is BufferedImage.Type_INT_RGB. If you know the height and width, use them because it's slower to have the class figure it out.

  Parameters:
    `image` - the source Image
    `x` - x start pixel
    `y` - y start pixel
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImage

    public static java.awt.image.BufferedImage getBufferedImage(java.awt.Image image,
                                                                int x,
                                                                int y,
                                                                int w,
                                                                int h,
                                                                int imageType)
                                                         throws java.lang.InterruptedException

  Return a BufferedImage loaded from a Image. If you know the height and width, use them because it's slower to have the class figure it out.

  Parameters:
    `image` - the source Image
    `x` - x start pixel - the horizontal pixel location in the returned image that the provided image will be set.
    `y` - y start pixel - the vertical pixel location in the returned image that the provided image will be set.
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
    `imageType` - the image color model. See BufferedImage.
  Returns:
    BufferedImage if it can be created, null if anything goes wrong.
  Throws:
    `java.lang.InterruptedException`

### getBufferedImageFromPixelGrabber

    public static java.awt.image.BufferedImage getBufferedImageFromPixelGrabber(java.awt.Image image,
                                                                                int x,
                                                                                int y,
                                                                                int w,
                                                                                int h,
                                                                                int imageType)

  Return a BufferedImage loaded from a Image, using a PixelGrabber. Good for when you have an Image, not a BufferedImage, and don't know the width and height. There is a performance penalty with this method, though.

  Parameters:
    `image` - the source Image
    `x` - x start pixel - the horizontal pixel location in the returned image that the provided image will be set.
    `y` - y start pixel - the vertical pixel location in the returned image that the provided image will be set.
    `w` - crop width (-1 uses image width)
    `h` - crop height (-1 uses image height)
    `imageType` - the image color model. See BufferedImage.
  Returns:
    BufferedImage if it can be created, null if anything goes wrong.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details