-
public interface PixelReader
该接口定义从Image
或包含像素的其他表面检索像素数据的方法。- 从以下版本开始:
- JavaFX 2.2
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 int
getArgb(int x, int y)
从表面的指定坐标读取像素颜色的32位整数表示形式。Color
getColor(int x, int y)
从表面的指定坐标读取像素的颜色,并将该值作为Color
对象返回。PixelFormat
getPixelFormat()
该方法返回表面存储其像素的PixelFormat
,或大致相当的像素格式,为了读取它们,可以轻松地转换其像素。void
getPixels(int x, int y, int w, int h, WritablePixelFormat<ByteBuffer> pixelformat, byte[] buffer, int offset, int scanlineStride)
将像素数据从表面的矩形区域读入指定的字节数组。void
getPixels(int x, int y, int w, int h, WritablePixelFormat<IntBuffer> pixelformat, int[] buffer, int offset, int scanlineStride)
将像素数据从表面的矩形区域读入指定的int数组。<T extends Buffer>
voidgetPixels(int x, int y, int w, int h, WritablePixelFormat<T> pixelformat, T buffer, int scanlineStride)
将像素数据从表面的矩形区域读入指定的缓冲区。
-
-
-
方法详细信息
-
getPixelFormat
PixelFormat getPixelFormat()
该方法返回PixelFormat
,其中表面存储其像素,或大致相等的像素格式,为了读取它们,可以轻松地将其像素转换。- 结果
-
最好描述底层像素的
PixelFormat
-
getArgb
int getArgb(int x, int y)
从表面的指定坐标读取像素颜色的32位整数表示形式。 32位整数将包含从最高有效字节到最低有效字节的ARGB顺序的单独8位字段中的4种颜色分量。- 参数
-
x
- 要读取的像素颜色的X坐标 -
y
- 要读取的像素颜色的Y坐标 - 结果
-
由
INT_ARGB
PixelFormat类型描述的格式的32位表示形式。
-
getColor
Color getColor(int x, int y)
从表面的指定坐标读取像素的颜色,并将该值作为Color
对象返回。- 参数
-
x
- 要读取的像素颜色的X坐标 -
y
- 要读取的像素颜色的Y坐标 - 结果
- Color对象表示指示像素的颜色
-
getPixels
<T extends Buffer> void getPixels(int x, int y, int w, int h, WritablePixelFormat<T> pixelformat, T buffer, int scanlineStride)
将像素数据从表面的矩形区域读入指定的缓冲区。 用于缓冲区中的像素的格式由PixelFormat
对象定义,并且将根据需要执行像素格式转换,以指定的格式存储数据。 假设缓冲器被定位到来自位置(x, y)
处的图像像素的第一像素数据将被存储的位置。 一行的像素数据将被存储在缓冲区内的相邻位置,尽可能紧密地填充以增加X坐标。 相邻行的像素数据将被彼此偏移由scanlineStride
定义的缓冲数据元素的scanlineStride
。- 参数类型
-
T
- 缓冲区的类型 - 参数
-
x
- 要读取的矩形区域的X坐标 -
y
- 要读取的矩形区域的Y坐标 -
w
- 要读取的矩形区域的宽度 -
h
- 要读取的矩形区域的高度 -
pixelformat
-PixelFormat
对象定义将像素存储到缓冲区中的格式 -
buffer
- 适合指定的PixelFormat
对象的缓冲区 -
scanlineStride
- 缓冲区中一行数据开始到下一行数据开始的像素数据之间的距离。
-
getPixels
void getPixels(int x, int y, int w, int h, WritablePixelFormat<ByteBuffer> pixelformat, byte[] buffer, int offset, int scanlineStride)
将像素数据从表面的矩形区域读入指定的字节数组。 用于缓冲区中像素的格式由PixelFormat
对象定义,像素格式转换将根据需要执行,以指定格式存储数据。pixelformat
必须是兼容的PixelFormat<ByteBuffer>
类型。 位置(x, y)
处的第一个像素的数据将被读入由offset
参数指定的数组索引。 一行的像素数据将被存储在尽可能紧凑地堆叠的阵列中的相邻位置,以增加X坐标。 相邻行的像素数据将通过由scanlineStride
定义的字节数组元素的数量彼此偏移。- 参数
-
x
- 要读取的矩形区域的X坐标 -
y
- 要读取的矩形区域的Y坐标 -
w
- 要读取的矩形区域的宽度 -
h
- 要读取的矩形区域的高度 -
pixelformat
-PixelFormat<ByteBuffer>
对象定义将像素存储到缓冲区中的字节格式 -
buffer
- 用于存储返回的像素数据的字节数组 -
offset
- 将偏移量存入buffer
以存储第一个像素数据 -
scanlineStride
- 缓冲区中的一行数据开始到下一行数据的开始的像素数据之间的距离
-
getPixels
void getPixels(int x, int y, int w, int h, WritablePixelFormat<IntBuffer> pixelformat, int[] buffer, int offset, int scanlineStride)
将像素数据从表面的矩形区域读入指定的int数组。 用于缓冲区中的像素的格式由PixelFormat
对象定义,并且将根据需要执行像素格式转换,以指定的格式存储数据。pixelformat
必须是兼容的PixelFormat<IntBuffer>
类型。 位置(x, y)
处的第一个像素的数据将被读入由offset
参数指定的数组索引。 一行的像素数据将被存储在尽可能紧凑地堆叠的阵列中的相邻位置,以增加X坐标。 相邻行的像素数据将通过由scanlineStride
定义的int数组元素的数量彼此偏移。- 参数
-
x
- 要读取的矩形区域的X坐标 -
y
- 要读取的矩形区域的Y坐标 -
w
- 要读取的矩形区域的宽度 -
h
- 要读取的矩形区域的高度 -
pixelformat
-PixelFormat<IntBuffer>
对象定义将格式存储在缓冲区中的int格式 -
buffer
- 用于存储返回的像素数据的int数组 -
offset
- 偏移到buffer
存储第一个像素数据 -
scanlineStride
- 缓冲区中的一行数据开始到下一行数据的开始的像素数据之间的距离
-
-