Package com.luciad.drawing
Class Image
java.lang.Object
com.luciad.drawing.Image
- All Implemented Interfaces:
AutoCloseable
An image with a width, height and pixel data in a specified pixel format.
The origin of an image (pixel (0, 0)) is defined at the top left corner, with the x axis pointing right, and the y axis pointing down.
-
Method Summary
Modifier and TypeMethodDescriptionandroid.graphics.Bitmap
asBitmap()
void
close()
static Image
create
(long width, long height, boolean isAlphaPreMultiplied, PixelFormat pixelFormat, ByteBuffer data) Creates an Image.protected void
finalize()
static Image
fromBitmap
(android.graphics.Bitmap bitmap) Creates an Image instance, based on the given bitmapgetBytes()
Returns the bytes that make up the pixels of this image.android.graphics.Color
getColor
(long x, long y) Returns the color value at the given image location.long
Returns the height of this image in pixels.Returns the pixel format of this image.long
getWidth()
Returns the width of this image in pixels.boolean
Returns whether the image is using premultiplied alpha.
-
Method Details
-
finalize
protected void finalize() -
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-
create
@NotNull public static Image create(long width, long height, boolean isAlphaPreMultiplied, @NotNull PixelFormat pixelFormat, @NotNull ByteBuffer data) Creates an Image.- Parameters:
width
- the width of the new imageheight
- the height of the new imageisAlphaPreMultiplied
- true to indicate that the colors in the data buffer contain premultiplied alphapixelFormat
- the pixel formatdata
- the pixel data. The buffer contains rows (left to right) of color data. The rows are ordered from top to bottom. The size of each color, and so also the size of the data buffer, is determined by the used PixelFormat.- Returns:
- a new image
-
getWidth
public long getWidth()Returns the width of this image in pixels.- Returns:
- the width of this image in pixels.
-
getHeight
public long getHeight()Returns the height of this image in pixels.- Returns:
- the height of this image in pixels.
-
getPixelFormat
Returns the pixel format of this image.- Returns:
- the pixel format of this image.
-
isAlphaPreMultiplied
public boolean isAlphaPreMultiplied()Returns whether the image is using premultiplied alpha.- Returns:
- true if the image is using premultiplied alpha.
-
getBytes
Returns the bytes that make up the pixels of this image.The bytes must be immutable; multiple calls to this method must always result in the same bytes.
The amount of bytes that makes up one pixel depends on thePixelFormat
of this image (seegetPixelFormat()
andluciad::sizeInBytes(PixelFormat)
). In other words, the size of this array is equal to:getWidth()
*getHeight()
* luciad::sizeInBytes(getPixelFormat()).
The pixels are arranged in row-major order, starting in the upper-left corner.- Returns:
- the bytes that make up the pixels of this image.
-
getColor
@NotNull public android.graphics.Color getColor(long x, long y) Returns the color value at the given image location.This will be an rgba color for
Image
instance with:PixelFormat#Rgba8888
- PixelFormat::Rgba888
This will be a greyscale android.graphics.Color for
Image
instance with:- Parameters:
x
- the x-coordinate of the pixel. A value of 0 corresponds with a left-most pixel.y
- the y-coordinate of the pixel. A value of 0 corresponds with a top-most pixel.- Returns:
- the android.graphics.Color value at the given image location.
-
fromBitmap
Creates an Image instance, based on the given bitmap- Parameters:
bitmap
- a bitmap- Returns:
- an Image instance
-
asBitmap
@NotNull public android.graphics.Bitmap asBitmap()- Returns:
- a new Bitmap instance based on this Image instance
-