Class WritablePixelFormat<T extends Buffer>


  • public abstract class WritablePixelFormat<T extends Buffer>
    extends PixelFormat<T>
    A PixelFormat object representing a pixel format that can store full colors and so can be used as a destination format to write pixel data from an arbitrary image.
    Since:
    JavaFX 2.2
    • Method Detail

      • isWritable

        public boolean isWritable()
        Description copied from class: PixelFormat
        Returns true iff this PixelFormat object can convert color information into a pixel representation.
        Specified by:
        isWritable in class PixelFormat<T extends Buffer>
        Returns:
        true iff this PixelFormat can convert colors to pixel data
      • setArgb

        public abstract void setArgb​(T buf,
                                     int x,
                                     int y,
                                     int scanlineStride,
                                     int argb)
        Stores the appropriate pixel data that represents the specified 32-bit integer representation of a color in the buffer at the specified coordinates. The 32-bit integer will contain the 4 color components in separate 8-bit fields in ARGB order from the most significant byte to the least significant byte. The buffer should be positioned to the start of the pixel data such that buf.get(0) would return the pixel information for the pixel at coordinates (0, 0). The scanlineStride parameter defines the distance from the pixel data at the start of one row to the pixel data at the start of the immediately following row at the next higher Y coordinate. Usually, scanlineStride is the same as the width of the image multiplied by the number of data elements per pixel (1 for the case of the integer and indexed formats, or 3 or 4 in the case of the byte formats), but some images may have further padding between rows for alignment or other purposes.

        Color components can be composed into an integer using the following sample code:

             int argb = ((alpha << 24) |
                         (red   << 16) |
                         (green <<  8) |
                         (blue       );
         
        Parameters:
        buf - the buffer of pixel data
        x - the X coordinate of the pixel to be read
        y - the Y coordinate of the pixel to be read
        scanlineStride - the number of buffer elements between the start of adjacent pixel rows in the buffer
        argb - a 32-bit value with the color to be stored in the pixel in a format similar to the Type.INT_ARGB pixel format