public class PowerOfTwoPaddedImage
extends java.lang.Object
PowerOfTwoPaddedImage provides accessors to the converted power-of-two image, the power-of-two image's width and height, and the original image's width and height.
| Modifier and Type | Field and Description |
|---|---|
protected int |
height |
protected java.awt.image.BufferedImage |
image |
protected int |
width |
| Modifier | Constructor and Description |
|---|---|
protected |
PowerOfTwoPaddedImage(java.awt.image.BufferedImage image,
int width,
int height) |
| Modifier and Type | Method and Description |
|---|---|
static PowerOfTwoPaddedImage |
fromBufferedImage(java.awt.image.BufferedImage image)
Returns a new PowerOfTwoPaddedImage by converting the specified
image to a new image with
power-of-two dimensions. |
static PowerOfTwoPaddedImage |
fromPath(java.lang.String path)
Returns a new PowerOfTwoPaddedImage from the specified
path, or null if the file referenced by
path cannot be read, or is not a readable image. |
int |
getOriginalHeight()
Returns the height of the original non-power-of-two image, in pixels.
|
int |
getOriginalWidth()
Returns the width of the original non-power-of-two image, in pixels.
|
int |
getPowerOfTwoHeight()
Returns the height of the power-of-two image, in pixels.
|
java.awt.image.BufferedImage |
getPowerOfTwoImage()
Returns a copy of the original image as a
BufferedImage with power-of-two dimensions. |
int |
getPowerOfTwoWidth()
Returns the width of the power-of-two image, in pixels.
|
protected int height
protected java.awt.image.BufferedImage image
protected int width
protected PowerOfTwoPaddedImage(java.awt.image.BufferedImage image,
int width,
int height)
public static PowerOfTwoPaddedImage fromBufferedImage(java.awt.image.BufferedImage image)
image to a new image with
power-of-two dimensions. Any pixels not covered by the original image are completely transparent. If the
specified image has power-of-two dimensions, this maintains a reference to the original image
instead of creating a copy. However, if the specified image has no alpha channel, this creates a
copy of the original image with an alpha channel, regardless of the specified image's dimensions.
This guarantees that the method getPowerOfTwoImage() always returns a BufferedImage with an alpha
channel. This is a useful property when converting images to OpenGL texture's, when both power-of-two and
non-power-of-two textures must have an alpha channel for consistent handling.image - the BufferedImage to convert to an image with power-of-two dimensions.image.java.lang.IllegalArgumentException - if the image is null.public static PowerOfTwoPaddedImage fromPath(java.lang.String path)
path, or null if the file referenced by
path cannot be read, or is not a readable image. The path must be a local file path, or
a valid resource on the classpath. This uses ImageIO to read the specified
path as a BufferedImage. Otherwise, this treats the resultant BufferedImage
exactly as fromBufferedImage(java.awt.image.BufferedImage).path - a local file path, or a valid resource on the classpath.path, or null if the image file reference by path cannot be read.java.lang.IllegalArgumentException - if the path is null.public int getOriginalHeight()
public int getOriginalWidth()
public int getPowerOfTwoHeight()
public java.awt.image.BufferedImage getPowerOfTwoImage()
BufferedImage with power-of-two dimensions. Any
pixels not covered by the original image are completely transparent.public int getPowerOfTwoWidth()