Class MemoryPaletted8Image

java.lang.Object
net.sourceforge.jiu.data.MemoryByteChannelImage
net.sourceforge.jiu.data.MemoryPaletted8Image
All Implemented Interfaces:
ByteChannelImage, IntegerImage, Paletted8Image, PalettedImage, PalettedIntegerImage, PixelImage

public class MemoryPaletted8Image extends MemoryByteChannelImage implements Paletted8Image
This class stores a paletted image with one byte per sample in memory.
Author:
Marco Schmidt
See Also:
  • Field Details

    • palette

      private Palette palette
      This image's palette.
    • maxSampleValue

      private int maxSampleValue
  • Constructor Details

    • MemoryPaletted8Image

      public MemoryPaletted8Image(int width, int height)
      Create an image of byte channels. Image data will be completely in memory, so memory requirements are width * height * numChannels bytes. Note that the data will not be initialized, so you should not assume anything about its content.
      Parameters:
      width - the horizontal resolution, must be non-zero and positive
      height - the vertical resolution, must be non-zero and positive
      Throws:
      IllegalArgumentException - if any of the parameters are smaller than 1
    • MemoryPaletted8Image

      public MemoryPaletted8Image(int width, int height, Palette palette)
  • Method Details

    • checkPalette

      public static void checkPalette(Palette palette)
    • createCompatibleImage

      public PixelImage createCompatibleImage(int width, int height)
      Description copied from interface: PixelImage
      Creates an instance of the same class as this one, with width and height given by the arguments.
      Specified by:
      createCompatibleImage in interface PixelImage
      Specified by:
      createCompatibleImage in class MemoryByteChannelImage
      Parameters:
      width - the horizontal resolution of the new image
      height - the vertical resolution of the new image
      Returns:
      the new image
    • getAllocatedMemory

      public long getAllocatedMemory()
      Description copied from interface: PixelImage
      Returns the number of bytes that were dynamically allocated for this image object.
      Specified by:
      getAllocatedMemory in interface PixelImage
      Overrides:
      getAllocatedMemory in class MemoryByteChannelImage
      Returns:
      allocated memory in bytes
    • getImageType

      public Class getImageType()
      Description copied from interface: PixelImage
      If there is a single interface or class that describes the image data type of this class, the Class object associated with that interface (or class) is returned (or null otherwise). This Class object, if available for two image objects, can be used to find out if they are compatible. Example: MemoryGray8Image returns net.sourceforge.jiu.data.Gray8Image.class.
      Specified by:
      getImageType in interface PixelImage
    • getMaxSample

      public int getMaxSample(int channel)
      Description copied from interface: IntegerImage
      Returns the maximum value for one of the image's channels. The minimum value is always 0.
      Specified by:
      getMaxSample in interface IntegerImage
      Overrides:
      getMaxSample in class MemoryByteChannelImage
      Parameters:
      channel - zero-based index of the channel, from 0 to PixelImage.getNumChannels() - 1
      Returns:
      maximum allowed sample value
    • getPalette

      public Palette getPalette()
      Returns this image's palette.
      Specified by:
      getPalette in interface PalettedImage
      Returns:
      palette object
      See Also:
    • getTypeDescription

      public String getTypeDescription()
    • setPalette

      public void setPalette(Palette palette)
      Sets this image's palette to a new value.
      Specified by:
      setPalette in interface PalettedImage
      Parameters:
      palette - the new palette for this image
      See Also: