Interface IntegerImage

All Superinterfaces:
PixelImage
All Known Subinterfaces:
BilevelImage, ByteChannelImage, Gray16Image, Gray8Image, GrayIntegerImage, Paletted8Image, PalettedIntegerImage, RGB24Image, RGB48Image, RGBIntegerImage, ShortChannelImage
All Known Implementing Classes:
BufferedRGB24Image, MemoryBilevelImage, MemoryByteChannelImage, MemoryGray16Image, MemoryGray8Image, MemoryPaletted8Image, MemoryRGB24Image, MemoryRGB48Image, MemoryShortChannelImage

public interface IntegerImage extends PixelImage
Extends the PixelImage interface to access image data as int values. Image types based on byte, char, short and int will work with this interface. long will not.

Using this interface provides a nice way of accessing a large variety of image types, but for performance reasons it might be preferable to use one of the class-specific access methods that get or put several values at a time, e.g. getByteSamples in ByteChannelImage.

Author:
Marco Schmidt
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    clear(int newValue)
    Sets all samples in the first channel to the argument value.
    void
    clear(int channelIndex, int newValue)
    Sets all samples of the channelIndex'th channel to newValue.
    int
    getMaxSample(int channel)
    Returns the maximum value for one of the image's channels.
    int
    getSample(int x, int y)
    Returns one sample of the first channel (index 0).
    int
    getSample(int channel, int x, int y)
    Returns one sample, specified by its channel index and location.
    void
    getSamples(int channelIndex, int x, int y, int w, int h, int[] dest, int destOffs)
    Copies a number of samples from this image to an int[] object.
    void
    putSample(int x, int y, int newValue)
    This method sets one sample of the first channel (index 0) to a new value.
    void
    putSample(int channel, int x, int y, int newValue)
    This method sets one sample to a new value.
    void
    putSamples(int channel, int x, int y, int w, int h, int[] src, int srcOffset)
    Copies a number of samples from an int[] array to this image.
  • Method Details

    • clear

      void clear(int newValue)
      Sets all samples in the first channel to the argument value. Equal to clear(0, newValue);:
    • clear

      void clear(int channelIndex, int newValue)
      Sets all samples of the channelIndex'th channel to newValue.
    • getMaxSample

      int getMaxSample(int channel)
      Returns the maximum value for one of the image's channels. The minimum value is always 0.
      Parameters:
      channel - zero-based index of the channel, from 0 to PixelImage.getNumChannels() - 1
      Returns:
      maximum allowed sample value
    • getSample

      int getSample(int x, int y)
      Returns one sample of the first channel (index 0). A call to this method must have the same result as the call getSample(0, x, y);.
      Parameters:
      x - the horizontal position of the sample, from 0 to PixelImage.getWidth() - 1
      y - the vertical position of the sample, from 0 to PixelImage.getHeight() - 1
      Returns:
      the desired sample
    • getSample

      int getSample(int channel, int x, int y)
      Returns one sample, specified by its channel index and location.
      Parameters:
      channel - the number of the channel, from 0 to PixelImage.getNumChannels() - 1
      x - the horizontal position of the sample, from 0 to PixelImage.getWidth() - 1
      y - the vertical position of the sample, from 0 to PixelImage.getHeight() - 1
      Returns:
      the desired sample
    • getSamples

      void getSamples(int channelIndex, int x, int y, int w, int h, int[] dest, int destOffs)
      Copies a number of samples from this image to an int[] object. A rectangular part of one channel is copied. The channel index is given by - the upper left corner of that rectangle is given by the point x / y. Width and height of that rectangle are given by w and h. Each sample will be stored as one int value dest, starting at index destOffs.
      Parameters:
      channelIndex - zero-based index of the channel from which data is to be copied (valid values: 0 to PixelImage.getNumChannels() - 1)
      x - horizontal position of upper left corner of the rectangle to be copied
      y - vertical position of upper left corner of the rectangle to be copied
      w - width of rectangle to be copied
      h - height of rectangle to be copied
      dest - int array to which the samples will be copied
      destOffs - int index into the dest array for the position to which the samples will be copied
    • putSample

      void putSample(int x, int y, int newValue)
      This method sets one sample of the first channel (index 0) to a new value. This call must have the same result as the call putSample(0, x, y). The sample location is given by the spatial coordinates, x and y.
      Parameters:
      x - the horizontal position of the sample, from 0 to PixelImage.getWidth() - 1
      y - the vertical position of the sample, from 0 to PixelImage.getHeight() - 1
      newValue - the new value of the sample
    • putSample

      void putSample(int channel, int x, int y, int newValue)
      This method sets one sample to a new value. The sample location is given by the channel index and the spatial coordinates, x and y.
      Parameters:
      channel - the number of the channel, from 0 to PixelImage.getNumChannels() - 1
      x - the horizontal position of the sample, from 0 to PixelImage.getWidth() - 1
      y - the vertical position of the sample, from 0 to PixelImage.getHeight() - 1
      newValue - the new value of the sample
    • putSamples

      void putSamples(int channel, int x, int y, int w, int h, int[] src, int srcOffset)
      Copies a number of samples from an int[] array to this image. A rectangular part of one channel is copied - the upper left corner of that rectangle is given by the point x / y. Width and height of that rectangle are given by w and h. Each sample will be stored as one int value src, starting at index srcOffset.
      Parameters:
      channel - int (from 0 to getNumChannels() - 1) to indicate the channel to which data is copied
      x - horizontal position of upper left corner of the rectangle to be copied
      y - vertical position of upper left corner of the rectangle to be copied
      w - width of rectangle to be copied
      h - height of rectangle to be copied
      src - int array from which the samples will be copied
      srcOffset - int index into the src array for the position from which the samples will be copied