Интерфейс PixelWriter
public interface PixelWriter
Этот интерфейс определяет методы для записи данных пикселей
WritableImage или другой поверхности, содержащей пиксели для записи.- С:
- 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.