Spec-Zone.ru › OpenJavaFX 17

Интерфейс 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>
void
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_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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API