Интерфейс PixelWriter
public interface PixelWriter Этот интерфейс определяет методы для записи пиксельных данных
WritableImage или другой поверхности, содержащей изменяемые пиксели.- С момента:
- JavaFX 2.2
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
PixelFormat | getPixelFormat() | Этот метод возвращает PixelFormat, в котором поверхность хранит свои пиксели, или приблизительно эквивалентный формат пикселей, из которого можно легко преобразовать пиксели для целей записи. |
void | setArgb(int x,
int y,
int argb) | Хранит пиксельные данные цвета в заданных координатах поверхности. |
void | setColor(int x,
int y,
Color c) | Хранит пиксельные данные для Color в заданных координатах поверхности. |
void | setPixels(int x,
int y,
int w,
int h,
PixelFormat<ByteBuffer> pixelformat,
byte[] buffer,
int offset,
int scanlineStride) | Хранит пиксельные данные из массива байтов в прямоугольной области поверхности. |
void | setPixels(int x,
int y,
int w,
int h,
PixelFormat<IntBuffer> pixelformat,
int[] buffer,
int offset,
int scanlineStride) | Хранит пиксельные данные из массива целых чисел в прямоугольной области поверхности. |
<T extends Buffer> | setPixels(int x,
int y,
int w,
int h,
PixelFormat<T> pixelformat,
T buffer,
int scanlineStride) | Хранит пиксельные данные из буфера в прямоугольной области поверхности. |
void | setPixels(int dstx,
int dsty,
int w,
int h,
PixelReader reader,
int srcx,
int srcy) | Хранит пиксельные данные, полученные из экземпляра PixelReader, в прямоугольной области поверхности. |
Подробное описание методов
getPixelFormat
PixelFormat getPixelFormat()
Этот метод возвращает
PixelFormat, в котором поверхность хранит свои пиксели, или примерно эквивалентный формат пикселей, из которого можно легко преобразовать пиксели для целей записи.- Возвращает:
PixelFormat, который лучше всего описывает основополагающие пиксели
setArgb
void setArgb(int x, int y, int argb)
Хранит данные пикселей для цвета в указанных координатах поверхности. 32-битовое целое число
argb должно содержать 4 цветовых компонента в отдельных 8-битовых полях в порядке ARGB от старшего байта к младшему.- Параметры:
-
x- координата X цвета пикселя для записи -
y- координата Y цвета пикселя для записи -
argb- информация о цвете для записи, указанная в формате, описанном типомINT_ARGBPixelFormat.
setColor
void setColor(int x, int y, Color c)
Хранит данные пикселей для
Color в указанных координатах поверхности.- Параметры:
-
x- координата X цвета пикселя для записи -
y- координата Y цвета пикселя для записи -
c- Цвет для записи или null - Исключения:
-
NullPointerException- еслиcolorравенnull
setPixels
<T extends Buffer> void setPixels(int x, int y, int w, int h, PixelFormat<T> pixelformat, T buffer, int scanlineStride)
Хранит данные пикселей из буфера в прямоугольной области поверхности. Формат пикселей в буфере определяется объектом
PixelFormat, и преобразования формата пикселей будут выполняться по мере необходимости для хранения данных на поверхности. Предполагается, что буфер расположен в месте, где находятся первые данные пикселей, которые должны быть сохранены в пикселе поверхности в позиции (x, y). Данные пикселей для строки будут читаться из смежных позиций в буфере, упакованных как можно плотнее для увеличения координаты X. Данные пикселей для смежных строк будут считываться со смещением друг от друга на количество элементов данных буфера, определенное scanlineStride.- Параметры типа:
-
T- тип буфера - Параметры:
-
x- координата X прямоугольной области для записи -
y- координата Y прямоугольной области для записи -
w- ширина прямоугольной области для записи -
h- высота прямоугольной области для записи -
pixelformat- объектPixelFormat, определяющий формат для чтения пикселей из буфера -
buffer- буфер соответствующего типа для указанного объектаPixelFormat -
scanlineStride- расстояние между данными пикселей для начала одной строки данных в буфере и начала следующей строки данных. - Исключения:
-
NullPointerException- еслиpixelformatилиbufferравноnull
setPixels
void setPixels(int x, int y, int w, int h, PixelFormat<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- расстояние между данными пикселей для начала одной строки данных в буфере и начала следующей строки данных - Исключения:
-
NullPointerException- еслиpixelformatилиbufferравноnull
setPixels
void setPixels(int x, int y, int w, int h, PixelFormat<IntBuffer> pixelformat, int[] buffer, int offset, int scanlineStride)
Хранит данные пикселей из целочисленного массива в прямоугольной области поверхности. Формат пикселей в буфере определяется объектом
PixelFormat, и преобразования формата пикселей будут выполняться по мере необходимости для хранения данных на поверхности. pixelformat должен быть совместимого типа PixelFormat<IntBuffer>. Данные для первого пикселя в позиции (x, y) будут считываться из индекса массива, указанного параметром offset. Данные пикселей для строки будут считываться из смежных позиций в массиве, упакованных как можно плотнее для увеличения координаты X. Данные пикселей для смежных строк будут считываться со смещением друг от друга на количество элементов целочисленного массива, определенное scanlineStride.- Параметры:
-
x- координата X прямоугольной области для записи -
y- координата Y прямоугольной области для записи -
w- ширина прямоугольной области для записи -
h- высота прямоугольной области для записи -
pixelformat- объектPixelFormat<IntBuffer>, определяющий целочисленный формат для чтения пикселей из буфера -
buffer- целочисленный массив, содержащий данные пикселей для хранения -
offset- смещение вbufferдля чтения первых данных пикселей -
scanlineStride- расстояние между данными пикселей для начала одной строки данных в буфере и начала следующей строки данных - Исключения:
-
NullPointerException- еслиpixelformatилиbufferравноnull
setPixels
void setPixels(int dstx, int dsty, int w, int h, PixelReader reader, int srcx, int srcy)
Хранит данные пикселей, полученные из экземпляра
PixelReader, в прямоугольной области поверхности. Данные для пикселя на поверхности в позиции (dstx, dsty) будут извлечены из reader из его позиции (srcx, srcy). Этот метод выполняет операцию, которая семантически эквивалентна (хотя, вероятно, намного быстрее), чем этот псевдокод:
for (int y = 0; y < h, y++) {
for (int x = 0; x < w; x++) {
setArgb(dstx + x, dsty + y,
reader.getArgb(srcx + x, srcy + y));
}
}
- Параметры:
-
dstx- координата X прямоугольной области для записи -
dsty- координата Y прямоугольной области для записи -
w- ширина прямоугольной области для записи -
h- высота прямоугольной области для записи -
reader-PixelReader, используемый для получения данных пикселей для записи -
srcx- координата X данных для чтения изreader -
srcy- координата Y данных для чтения изreader - Исключения:
-
NullPointerException- еслиreaderравноnull
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.