Save This Page
Home » openjdk-7 » sun » awt » image » [javadoc | source]
sun.awt.image
public class: BytePackedRaster [javadoc | source]
java.lang.Object
   java.awt.image.Raster
      java.awt.image.WritableRaster
         sun.awt.image.SunWritableRaster
            sun.awt.image.BytePackedRaster
This class is useful for describing 1, 2, or 4 bit image data elements. This raster has one band whose pixels are packed together into individual bytes in a single byte array. This type of raster can be used with an IndexColorModel. This raster uses a MultiPixelPackedSampleModel.
Field Summary
 int dataBitOffset    The data bit offset for each pixel. 
 int scanlineStride    Scanline stride of the image data contained in this Raster. 
 int pixelBitStride    The bit stride of a pixel, equal to the total number of bits required to store a pixel. 
 int bitMask    The bit mask for extracting the pixel. 
 byte[] data    The image data array. 
 int shiftOffset    8 minus the pixel bit stride. 
 int type     
Fields inherited from java.awt.image.Raster:
sampleModel,  dataBuffer,  minX,  minY,  width,  height,  sampleModelTranslateX,  sampleModelTranslateY,  numBands,  numDataElements,  parent
Constructor:
 public BytePackedRaster(SampleModel sampleModel,
    Point origin) 
    Constructs a BytePackedRaster with the given SampleModel. The Raster's upper left corner is origin and it is the same size as the SampleModel. A DataBuffer large enough to describe the Raster is automatically created. SampleModel must be of type MultiPixelPackedSampleModel.
    Parameters:
    sampleModel - The SampleModel that specifies the layout.
    origin - The Point that specified the origin.
 public BytePackedRaster(SampleModel sampleModel,
    DataBuffer dataBuffer,
    Point origin) 
    Constructs a BytePackedRaster with the given SampleModel and DataBuffer. The Raster's upper left corner is origin and it is the same size as the SampleModel. The DataBuffer is not initialized and must be a DataBufferByte compatible with SampleModel. SampleModel must be of type MultiPixelPackedSampleModel.
    Parameters:
    sampleModel - The SampleModel that specifies the layout.
    dataBuffer - The DataBufferShort that contains the image data.
    origin - The Point that specifies the origin.
 public BytePackedRaster(SampleModel sampleModel,
    DataBuffer dataBuffer,
    Rectangle aRegion,
    Point origin,
    BytePackedRaster parent) 
    Constructs a BytePackedRaster with the given SampleModel, DataBuffer, and parent. DataBuffer must be a DataBufferByte and SampleModel must be of type MultiPixelPackedSampleModel. When translated into the base Raster's coordinate system, aRegion must be contained by the base Raster. Origin is the coordinate in the new Raster's coordinate system of the origin of the base Raster. (The base Raster is the Raster's ancestor which has no parent.) Note that this constructor should generally be called by other constructors or create methods, it should not be used directly.
    Parameters:
    sampleModel - The SampleModel that specifies the layout.
    dataBuffer - The DataBufferShort that contains the image data.
    aRegion - The Rectangle that specifies the image area.
    origin - The Point that specifies the origin.
    parent - The parent (if any) of this raster.
    Throws:
    RasterFormatException - if the parameters do not conform to requirements of this Raster type.
    exception: RasterFormatException - if the parameters do not conform to requirements of this Raster type.
Method from sun.awt.image.BytePackedRaster Summary:
createChild,   createCompatibleWritableRaster,   createCompatibleWritableRaster,   createWritableChild,   getByteData,   getByteData,   getDataBitOffset,   getDataElements,   getDataElements,   getDataStorage,   getPixelBitStride,   getPixelData,   getPixels,   getScanlineStride,   putByteData,   putByteData,   setDataElements,   setDataElements,   setDataElements,   setPixels,   setRect,   toString
Methods from sun.awt.image.SunWritableRaster:
makeTrackable,   markDirty,   markDirty,   markDirty,   markDirty,   setDataStealer,   setTrackable,   stealData,   stealData,   stealData,   stealTrackable
Methods from java.awt.image.WritableRaster:
createWritableChild,   createWritableTranslatedChild,   getWritableParent,   setDataElements,   setDataElements,   setDataElements,   setPixel,   setPixel,   setPixel,   setPixels,   setPixels,   setPixels,   setRect,   setRect,   setSample,   setSample,   setSample,   setSamples,   setSamples,   setSamples
Methods from java.awt.image.Raster:
createBandedRaster,   createBandedRaster,   createBandedRaster,   createChild,   createCompatibleWritableRaster,   createCompatibleWritableRaster,   createCompatibleWritableRaster,   createCompatibleWritableRaster,   createInterleavedRaster,   createInterleavedRaster,   createInterleavedRaster,   createPackedRaster,   createPackedRaster,   createPackedRaster,   createPackedRaster,   createRaster,   createTranslatedChild,   createWritableRaster,   createWritableRaster,   getBounds,   getDataBuffer,   getDataElements,   getDataElements,   getHeight,   getMinX,   getMinY,   getNumBands,   getNumDataElements,   getParent,   getPixel,   getPixel,   getPixel,   getPixels,   getPixels,   getPixels,   getSample,   getSampleDouble,   getSampleFloat,   getSampleModel,   getSampleModelTranslateX,   getSampleModelTranslateY,   getSamples,   getSamples,   getSamples,   getTransferType,   getWidth
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from sun.awt.image.BytePackedRaster Detail:
 public Raster createChild(int x,
    int y,
    int width,
    int height,
    int x0,
    int y0,
    int[] bandList) 
    Creates a subraster given a region of the raster. The x and y coordinates specify the horizontal and vertical offsets from the upper-left corner of this raster to the upper-left corner of the subraster. Note that the subraster will reference the same DataBuffer as the parent raster, but using different offsets. The bandList is ignored.
 public WritableRaster createCompatibleWritableRaster() 
    Creates a raster with the same layout and the same width and height, and with new zeroed data arrays.
 public WritableRaster createCompatibleWritableRaster(int w,
    int h) 
    Creates a raster with the same layout but using a different width and height, and with new zeroed data arrays.
 public WritableRaster createWritableChild(int x,
    int y,
    int width,
    int height,
    int x0,
    int y0,
    int[] bandList) 
    Creates a Writable subRaster given a region of the Raster. The x and y coordinates specify the horizontal and vertical offsets from the upper-left corner of this Raster to the upper-left corner of the subRaster. The bandList is ignored. A translation to the subRaster may also be specified. Note that the subRaster will reference the same DataBuffer as the parent Raster, but using different offsets.
 public byte[] getByteData(int x,
    int y,
    int w,
    int h,
    byte[] outData) 
    Returns a byte array containing the specified data elements from the data array. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds.
          byte[] byteData = raster.getByteData(x, y, w, h, null);
          byte pixel;
          // To find a data element at location (x2, y2)
          pixel = byteData[((y2-y)*w + (x2-x))];
    
 public byte[] getByteData(int x,
    int y,
    int w,
    int h,
    int band,
    byte[] outData) 
    Returns a byte array containing the specified data elements from the data array. The band index will be ignored. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds.
          byte[] byteData = getByteData(x, y, band, w, h, null);
          // To find a data element at location (x2, y2)
          byte element = byteData[(y2-y)*w + (x2-x)];
    
 public int getDataBitOffset() 
    Returns the data bit offset for the Raster. The data bit offset is the bit index into the data array element corresponding to the first sample of the first scanline.
 public Object getDataElements(int x,
    int y,
    Object obj) 
    Returns the data element at the specified location. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinate is out of bounds. A ClassCastException will be thrown if the input object is non null and references anything other than an array of transferType.
 public Object getDataElements(int x,
    int y,
    int w,
    int h,
    Object outData) 
    Returns the pixel data for the specified rectangle of pixels in a primitive array of type TransferType. For image data supported by the Java 2D API, this will be one of DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT, or DataBuffer.TYPE_INT. Data may be returned in a packed format, thus increasing efficiency for data transfers. An ArrayIndexOutOfBoundsException may be thrown if the coordinates are not in bounds. A ClassCastException will be thrown if the input object is non null and references anything other than an array of TransferType.
 public byte[] getDataStorage() 
    Returns a reference to the entire data array.
 public int getPixelBitStride() 
    Returns pixel bit stride -- the number of bits between two samples on the same scanline.
 public Object getPixelData(int x,
    int y,
    int w,
    int h,
    Object obj) 
    Returns an array of data elements from the specified rectangular region. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds. A ClassCastException will be thrown if the input object is non null and references anything other than an array of transferType.
          byte[] bandData = (byte[])raster.getPixelData(x, y, w, h, null);
          int pixel;
          // To find a data element at location (x2, y2)
          pixel = bandData[((y2-y)*w + (x2-x))];
    
 public int[] getPixels(int x,
    int y,
    int w,
    int h,
    int[] iArray) 
    Returns an int array containing all samples for a rectangle of pixels, one sample per array element. An ArrayIndexOutOfBoundsException may be thrown if the coordinates are not in bounds.
 public int getScanlineStride() 
    Returns the scanline stride -- the number of data array elements between a given sample and the sample in the same column of the next row.
 public  void putByteData(int x,
    int y,
    int w,
    int h,
    byte[] inData) 
    Stores a byte array of data elements into the specified rectangular region. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds. The data elements in the data array are assumed to be packed. That is, a data element at location (x2, y2) would be found at:
         inData[((y2-y)*w + (x2-x))]
    
 public  void putByteData(int x,
    int y,
    int w,
    int h,
    int band,
    byte[] inData) 
    Stores a byte array of data elements into the specified rectangular region. The band index will be ignored. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds. The data elements in the data array are assumed to be packed. That is, a data element at location (x2, y2) would be found at:
         inData[((y2-y)*w + (x2-x))]
    
 public  void setDataElements(int x,
    int y,
    Object obj) 
    Stores the data elements at the specified location. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinate is out of bounds. A ClassCastException will be thrown if the input object is non null and references anything other than an array of transferType.
 public  void setDataElements(int x,
    int y,
    Raster inRaster) 
    Stores the Raster data at the specified location. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds.
 public  void setDataElements(int x,
    int y,
    int w,
    int h,
    Object obj) 
    Stores an array of data elements into the specified rectangular region. An ArrayIndexOutOfBounds exception will be thrown at runtime if the pixel coordinates are out of bounds. A ClassCastException will be thrown if the input object is non null and references anything other than an array of transferType. The data elements in the data array are assumed to be packed. That is, a data element at location (x2, y2) would be found at:
         inData[((y2-y)*w + (x2-x))]
    
 public  void setPixels(int x,
    int y,
    int w,
    int h,
    int[] iArray) 
    Sets all samples for a rectangle of pixels from an int array containing one sample per array element. An ArrayIndexOutOfBoundsException may be thrown if the coordinates are not in bounds.
 public  void setRect(int dx,
    int dy,
    Raster srcRaster) 
    Copies pixels from Raster srcRaster to this WritableRaster. For each (x, y) address in srcRaster, the corresponding pixel is copied to address (x+dx, y+dy) in this WritableRaster, unless (x+dx, y+dy) falls outside the bounds of this raster. srcRaster must have the same number of bands as this WritableRaster. The copy is a simple copy of source samples to the corresponding destination samples. For details, see WritableRaster#setRect(Raster) .
 public String toString()