-
public interface PixelWriterЭтот интерфейс определяет методы для записи пиксельных данныхWritableImageили другой поверхности, содержащей записываемые пиксели.- С момента:
- JavaFX 2.2
-
Краткое описание методов
Все методыМетоды экземпляраАбстрактные методы Модификатор и тип Метод Описание PixelFormatgetPixelFormat()Этот метод возвращаетPixelFormat, в котором поверхность хранит свои пиксели, или примерно эквивалентный пиксельный формат, из которого можно легко преобразовать пиксели для целей их записи.voidsetArgb(int x, int y, int argb)Хранит пиксельные данные цвета в указанных координатах поверхности.voidsetColor(int x, int y, Color c)Хранит пиксельные данные дляColorв указанных координатах поверхности.voidsetPixels(int x, int y, int w, int h, PixelFormat<ByteBuffer> pixelformat, byte[] buffer, int offset, int scanlineStride)Хранит пиксельные данные из массива байтов в прямоугольном регионе поверхности.voidsetPixels(int x, int y, int w, int h, PixelFormat<IntBuffer> pixelformat, int[] buffer, int offset, int scanlineStride)Хранит пиксельные данные из массива целых чисел в прямоугольном регионе поверхности.<T extends Buffer>
voidsetPixels(int x, int y, int w, int h, PixelFormat<T> pixelformat, T buffer, int scanlineStride)Хранит пиксельные данные из буфера в прямоугольном регионе поверхности.voidsetPixels(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- Color для записи или 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, и при необходимости будет выполнено преобразование формата пикселей для сохранения данных на поверхности. Предполагается, что буфер расположен в месте, где находятся данные первого пикселя для сохранения на поверхности пикселя в location(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)Сохраняет данные пикселей из массива int в прямоугольную область поверхности. Формат пикселей в буфере определяется объектомPixelFormat, и при необходимости будет выполнено преобразование формата пикселей для сохранения данных на поверхности.pixelformatдолжен быть совместимым типомPixelFormat<IntBuffer>. Данные для первого пикселя в местоположении(x, y)будут считаны из индекса массива, указанного параметромoffset. Данные пикселей для строки будут считываться из смежных местоположений в массиве, упакованных как можно плотнее для увеличения координат X. Данные пикселей для смежных строк будут считываться со смещением друг от друга на число элементов массива int, определяемоеscanlineStride.- Параметры:
-
x- координата X прямоугольной области для записи -
y- координата Y прямоугольной области для записи -
w- ширина прямоугольной области для записи -
h- высота прямоугольной области для записи -
pixelformat- объектPixelFormat<IntBuffer>, определяющий формат int для считывания пикселей из буфера -
buffer- массив int, содержащий данные пикселей для хранения -
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.