Class Image

java.lang.Object
com.luciad.drawing.Image
All Implemented Interfaces:
AutoCloseable

public final class Image extends Object implements 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 Details Link icon

    • finalize Link icon

      protected void finalize()
      Overrides:
      finalize in class Object
    • close Link icon

      public void close()
      Specified by:
      close in interface AutoCloseable
    • create Link icon

      @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 image
      height - the height of the new image
      isAlphaPreMultiplied - true to indicate that the colors in the data buffer contain premultiplied alpha
      pixelFormat - the pixel format
      data - 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 Link icon

      public long getWidth()
      Returns the width of this image in pixels.
      Returns:
      the width of this image in pixels.
    • getHeight Link icon

      public long getHeight()
      Returns the height of this image in pixels.
      Returns:
      the height of this image in pixels.
    • getPixelFormat Link icon

      @NotNull public PixelFormat getPixelFormat()
      Returns the pixel format of this image.
      Returns:
      the pixel format of this image.
    • isAlphaPreMultiplied Link icon

      public boolean isAlphaPreMultiplied()
      Returns whether the image is using premultiplied alpha.
      Returns:
      true if the image is using premultiplied alpha.
    • getBytes Link icon

      @NotNull public ByteBuffer 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 the PixelFormat of this image (see getPixelFormat() and luciad::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 Link icon

      @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:

      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 Link icon

      @NotNull public static Image fromBitmap(@NotNull android.graphics.Bitmap bitmap)
      Creates an Image instance, based on the given bitmap
      Parameters:
      bitmap - a bitmap
      Returns:
      an Image instance
    • asBitmap Link icon

      @NotNull public android.graphics.Bitmap asBitmap()
      Returns:
      a new Bitmap instance based on this Image instance