Интерфейс PixelWriter
public interface PixelWriter
Данный интерфейс определяет методы для записи пиксельных данных
WritableImage или другой поверхности, содержащей пиксели для записи.- Since:
- JavaFX 2.2
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
PixelFormat |
getPixelFormat() |
Данный метод возвращает PixelFormat, в котором поверхность хранит свои пиксели, или примерно эквивалентный формат пикселей, из которого можно легко преобразовать пиксели для их записи. |
void |
setArgb |
Сохраняет пиксельные данные цвета в указанных координатах поверхности. |
void |
setColor |
Сохраняет пиксельные данные для Color в указанных координатах поверхности. |
void |
setPixels |
Сохраняет пиксельные данные из массива байтов в прямоугольную область поверхности. |
void |
setPixels |
Сохраняет пиксельные данные из массива целых чисел в прямоугольную область поверхности. |
<T extends Buffer> |
setPixels |
Сохраняет пиксельные данные из буфера в прямоугольную область поверхности. |
void |
setPixels |
Сохраняет пиксельные данные, полученные из экземпляра 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_ARGBтипе PixelFormat.
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.