Module  javafx.graphics
软件包  javafx.scene.image

Class WritablePixelFormat<T extends Buffer>



  • public abstract class WritablePixelFormat<T extends Buffer>
    extends PixelFormat<T>
    表示可以存储全色的像素格式的对象PixelFormat可以用作从任意图像写入像素数据的目的地格式。
    从以下版本开始:
    JavaFX 2.2
    • 方法详细信息

      • isWritable

        public boolean isWritable​()
        说明从类别复制PixelFormat
        如果此 PixelFormat对象可以将颜色信息转换为像素表示,则返回true。
        Specified by:
        isWritablePixelFormat<T extends Buffer>
        结果
        如果这个 PixelFormat可以将颜色转换为像素数据, PixelFormat true
      • setArgb

        public abstract void setArgb​(T buf,
                                     int x,
                                     int y,
                                     int scanlineStride,
                                     int argb)
        在指定的坐标处存储表示指定的32位整数表示的适当像素数据在缓冲区中的颜色。 32位整数将包含从最高有效字节到最低有效字节的ARGB顺序的单独8位字段中的4种颜色分量。 缓冲器应该位于像素数据的开始处,使得buf.get(0)将返回坐标(0, 0)处的像素的像素信息。 scanlineStride参数定义了从一行开始处的像素数据到下一个较高Y坐标处紧随其后的行开始处的像素数据的距离。 通常, scanlineStride与图像的宽度相乘乘以每像素的数据元素数(在整数和索引格式的情况下为1,在字节格式的情况下为3或4),但某些图像可能在行之间进一步填充以进行对准或其他目的。

        颜色分量可以使用以下示例代码组成整数:

          int argb = ((alpha << 24) |
                         (red   << 16) |
                         (green <<  8) |
                         (blue       ); 
        参数
        buf - 像素数据的缓冲区
        x - 要读取的像素的X坐标
        y - 要读取的像素的Y坐标
        scanlineStride - 缓冲区中相邻像素行开始之间的缓冲元素数
        argb - 一个32位值,其颜色将以类似于 Type.INT_ARGB像素格式的格式存储在像素中