Spec-Zone.ru › OpenJDK 25

Класс ComponentSampleModel

java.lang.Object
java.awt.image.SampleModel
java.awt.image.ComponentSampleModel
Прямые известные подклассы:
BandedSampleModel, PixelInterleavedSampleModel
public class ComponentSampleModel extends SampleModel
Этот класс представляет данные изображения, хранящиеся таким образом, что каждый отсчёт пикселя занимает один элемент данных в DataBuffer. Он хранит N отсчётов, составляющих пиксель, в N отдельных элементах массива данных. Разные полосы могут находиться в разных банках DataBuffer. Предусмотрены методы доступа, позволяющие напрямую манипулировать данными изображения. Этот класс поддерживает различные виды чередования, например чередование полос, строк сканирования и пикселей. Шаг пикселя — это количество элементов массива данных между двумя отсчётами одной и той же полосы в одной строке сканирования. Шаг строки сканирования — это количество элементов массива данных между заданным отсчётом и соответствующим отсчётом в том же столбце следующей строки сканирования. Смещения полос обозначают количество элементов массива данных от первого элемента массива данных банка DataBuffer, содержащего каждую полосу, до первого отсчёта этой полосы. Полосы нумеруются от 0 до N-1. Этот класс может представлять данные изображения, в которых каждый отсчёт является беззнаковым целым числом, хранящимся в 8, 16 или 32 битах (с использованием DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT или DataBuffer.TYPE_INT соответственно), данные, в которых каждый отсчёт является знаковым целым числом, хранящимся в 16 битах (с использованием DataBuffer.TYPE_SHORT), или данные, в которых каждый отсчёт является знаковым числом с плавающей точкой или числом двойной точности (с использованием DataBuffer.TYPE_FLOAT или DataBuffer.TYPE_DOUBLE соответственно). Все отсчёты данного ComponentSampleModel хранятся с одинаковой точностью. Все шаги и смещения должны быть неотрицательными. Этот класс поддерживает TYPE_BYTE, TYPE_USHORT, TYPE_SHORT, TYPE_INT, TYPE_FLOAT, TYPE_DOUBLE,
См. также:
  • PixelInterleavedSampleModel
  • BandedSampleModel

Краткое описание полей

Модификатор и тип Поле Описание
protected int[] bandOffsets
Смещения всех полос в элементах массива данных.
protected int[] bankIndices
Индекс каждого банка, в котором хранится полоса данных изображения.
protected int numBands
Количество полос в этом ComponentSampleModel.
protected int numBanks
Количество банков в этом ComponentSampleModel.
protected int pixelStride
Шаг пикселя (в элементах массива данных) области данных изображения, описанной этим ComponentSampleModel.
protected int scanlineStride
Шаг строки (в элементах массива данных) области данных изображения, описанной этим ComponentSampleModel.

Поля, объявленные в классе SampleModel

dataType, height, width

Краткое описание конструкторов

Конструктор Описание
ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
Создаёт ComponentSampleModel с указанными параметрами.
ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets)
Создаёт ComponentSampleModel с указанными параметрами.

Краткое описание методов

Модификатор и тип Метод Описание
SampleModel createCompatibleSampleModel(int w, int h)
Создаёт новый ComponentSampleModel с указанными шириной и высотой.
DataBuffer createDataBuffer()
Создаёт DataBuffer, соответствующий этому ComponentSampleModel.
SampleModel createSubsetSampleModel(int[] bands)
Создаёт новый ComponentSampleModel с подмножеством полос этого ComponentSampleModel.
final int[] getBandOffsets()
Возвращает смещения полос для всех полос.
final int[] getBankIndices()
Возвращает индексы банков для всех полос.
Object getDataElements(int x, int y, Object obj, DataBuffer data)
Возвращает данные для одного пикселя в примитивном массиве типа TransferType.
final int getNumDataElements()
Возвращает количество элементов данных, необходимых для передачи пикселя с помощью методов getDataElements(int, int, Object, DataBuffer) и setDataElements(int, int, Object, DataBuffer).
int getOffset(int x, int y)
Возвращает смещение для первой полосы пикселя (x,y).
int getOffset(int x, int y, int b)
Возвращает смещение для полосы b пикселя (x,y).
int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
Возвращает все отсчёты указанного пикселя в массиве int, по одному отсчёту в каждом элементе массива.
int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Возвращает все отсчёты указанного прямоугольника пикселей в массиве int, по одному отсчёту в каждом элементе массива.
final int getPixelStride()
Возвращает шаг пикселя этого ComponentSampleModel.
int getSample(int x, int y, int b, DataBuffer data)
Возвращает в виде int отсчёт указанной полосы пикселя, расположенного в точке (x,y).
double getSampleDouble(int x, int y, int b, DataBuffer data)
Возвращает отсчёт указанной полосы пикселя, расположенного в точке (x,y), в виде double.
float getSampleFloat(int x, int y, int b, DataBuffer data)
Возвращает отсчёт указанной полосы пикселя, расположенного в точке (x,y), в виде float.
int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Возвращает отсчёты указанной полосы для заданного прямоугольника пикселей в массиве int, по одному отсчёту в каждом элементе массива данных.
final int[] getSampleSize()
Возвращает количество бит на отсчёт для всех полос.
final int getSampleSize(int band)
Возвращает количество бит на отсчёт для указанной полосы.
final int getScanlineStride()
Возвращает шаг строки сканирования этого ComponentSampleModel.
void setDataElements(int x, int y, Object obj, DataBuffer data)
Задаёт данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType.
void setPixel(int x, int y, int[] iArray, DataBuffer data)
Задаёт пиксель в DataBuffer, используя для входных данных массив int с отсчётами.
void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Задаёт все отсчёты прямоугольника пикселей из массива int, содержащего по одному отсчёту в каждом элементе массива.
void setSample(int x, int y, int b, double s, DataBuffer data)
Задаёт отсчёт указанной полосы пикселя, расположенного в точке (x,y) в DataBuffer, используя для входных данных значение double.
void setSample(int x, int y, int b, float s, DataBuffer data)
Задаёт отсчёт указанной полосы пикселя, расположенного в точке (x,y) в DataBuffer, используя для входных данных значение float.
void setSample(int x, int y, int b, int s, DataBuffer data)
Задаёт отсчёт указанной полосы пикселя, расположенного в точке (x,y) в DataBuffer, используя для входных данных значение int.
void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Задаёт отсчёты указанной полосы для заданного прямоугольника пикселей из массива int, содержащего по одному отсчёту в каждом элементе массива данных.

Методы, объявленные в классе SampleModel

getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

bandOffsets

protected int[] bandOffsets
Смещения для всех полос в элементах массива данных.

bankIndices

protected int[] bankIndices
Индекс каждого банка, в котором хранится полоса данных изображения.

numBands

protected int numBands
Количество полос в этой ComponentSampleModel.

numBanks

protected int numBanks
Количество банков в этой ComponentSampleModel.

scanlineStride

protected int scanlineStride
Шаг строки (в элементах массива данных) области данных изображения, описываемой этой моделью ComponentSampleModel.

pixelStride

protected int pixelStride
Шаг пикселя (в элементах массива данных) области данных изображения, описываемой этой моделью ComponentSampleModel.

Подробное описание конструкторов

ComponentSampleModel

public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bandOffsets)
Создает ComponentSampleModel с указанными параметрами. Количество полос определяется длиной массива bandOffsets. Все полосы будут храниться в первом банке DataBuffer.
Параметры:
dataType — тип данных для хранения отсчетов
w — ширина (в пикселях) описываемой области данных изображения
h — высота (в пикселях) описываемой области данных изображения
pixelStride — шаг пикселя описываемой области данных изображения
scanlineStride — шаг строки описываемой области данных изображения
bandOffsets — смещения всех полос
Исключения:
IllegalArgumentException — если w и h не являются оба числами больше 0
IllegalArgumentException — если произведение w и h больше Integer.MAX_VALUE
IllegalArgumentException — если pixelStride меньше 0
IllegalArgumentException — если scanlineStride меньше 0
NullPointerException — если bandOffsets равно null
IllegalArgumentException — если bandOffsets.length равно 0
IllegalArgumentException — если dataType не относится к поддерживаемым типам данных этой модели отсчетов.

ComponentSampleModel

public ComponentSampleModel(int dataType, int w, int h, int pixelStride, int scanlineStride, int[] bankIndices, int[] bandOffsets)
Создает ComponentSampleModel с указанными параметрами. Количество полос определяется длиной массива bandOffsets. Разные полосы могут храниться в разных банках DataBuffer.
Параметры:
dataType — тип данных для хранения отсчетов
w — ширина (в пикселях) описываемой области данных изображения
h — высота (в пикселях) описываемой области данных изображения
pixelStride — шаг пикселя описываемой области данных изображения
scanlineStride — шаг строки описываемой области данных изображения
bankIndices — индексы банков для всех полос
bandOffsets — смещения всех полос
Исключения:
IllegalArgumentException — если w и h не являются оба числами больше 0
IllegalArgumentException — если произведение w и h больше Integer.MAX_VALUE
IllegalArgumentException — если pixelStride меньше 0
IllegalArgumentException — если scanlineStride меньше 0
NullPointerException — если bankIndices равно null
NullPointerException — если bandOffsets равно null
IllegalArgumentException — если bandOffsets.length равно 0
IllegalArgumentException — если длина bankIndices не равна длине bandOffsets
IllegalArgumentException — если какой-либо индекс банка в bandIndices меньше 0
IllegalArgumentException — если dataType не относится к поддерживаемым типам данных этой модели отсчетов

Подробное описание методов

createCompatibleSampleModel

public SampleModel createCompatibleSampleModel(int w, int h)
Создает новую ComponentSampleModel с указанными шириной и высотой. Новая SampleModel будет иметь такое же количество полос, тип данных для хранения, схему чередования и шаг пикселя, как эта SampleModel.
Определено в:
createCompatibleSampleModel в классе SampleModel
Параметры:
w — ширина результирующей SampleModel
h — высота результирующей SampleModel
Возвращает:
новую ComponentSampleModel указанного размера
Исключения:
IllegalArgumentException — если w или h не больше 0

createSubsetSampleModel

public SampleModel createSubsetSampleModel(int[] bands)
Создает новую ComponentSampleModel с подмножеством полос этой ComponentSampleModel. Новую ComponentSampleModel можно использовать с любым DataBuffer, совместимым с существующей ComponentSampleModel. Новая комбинация ComponentSampleModel/DataBuffer будет представлять изображение с подмножеством полос исходной комбинации ComponentSampleModel/DataBuffer.
Определено в:
createSubsetSampleModel в классе SampleModel
Параметры:
bands — подмножество полос этой ComponentSampleModel
Возвращает:
ComponentSampleModel, созданную с подмножеством полос этой ComponentSampleModel.

createDataBuffer

public DataBuffer createDataBuffer()
Создает DataBuffer, соответствующий этой ComponentSampleModel. Тип данных, количество банков и размер объекта DataBuffer будут согласованы с этой ComponentSampleModel.
Определено в:
createDataBuffer в классе SampleModel
Возвращает:
DataBuffer, тип данных, количество банков и размер которого согласованы с этой ComponentSampleModel.

getOffset

public int getOffset(int x, int y)
Возвращает смещение для первой полосы пикселя (x,y). Отсчет первой полосы можно получить из DataBuffer data с помощью ComponentSampleModel csm следующим образом:
        data.getElem(csm.getOffset(x, y));
 
Параметры:
x — координата X пикселя
y — координата Y пикселя
Возвращает:
смещение для первой полосы указанного пикселя.

getOffset

public int getOffset(int x, int y, int b)
Возвращает смещение полосы b пикселя (x,y). Отсчет полосы b можно получить из DataBuffer data с помощью ComponentSampleModel csm следующим образом:
       data.getElem(csm.getOffset(x, y, b));
 
Параметры:
x — координата X указанного пикселя
y — координата Y указанного пикселя
b — указанная полоса
Возвращает:
смещение указанной полосы указанного пикселя.

getSampleSize

public final int[] getSampleSize()
Возвращает количество бит на отсчет для всех полос.
Определено в:
getSampleSize в классе SampleModel
Возвращает:
массив, содержащий количество бит на отсчет для всех полос; каждый элемент массива соответствует одной полосе.

getSampleSize

public final int getSampleSize(int band)
Возвращает количество бит на отсчет для указанной полосы.
Определено в:
getSampleSize в классе SampleModel
Параметры:
band — указанная полоса
Возвращает:
количество бит на отсчет для указанной полосы.

getBankIndices

public final int[] getBankIndices()
Возвращает индексы банков для всех полос.
Возвращает:
индексы банков для всех полос.

getBandOffsets

public final int[] getBandOffsets()
Возвращает смещения всех полос.
Возвращает:
смещения всех полос.

getScanlineStride

public final int getScanlineStride()
Возвращает шаг строки этой модели ComponentSampleModel.
Возвращает:
шаг строки этой ComponentSampleModel.

getPixelStride

public final int getPixelStride()
Возвращает шаг пикселя этой модели ComponentSampleModel.
Возвращает:
шаг пикселя этой ComponentSampleModel.

getNumDataElements

public final int getNumDataElements()
Возвращает количество элементов данных, необходимых для передачи пикселя методами getDataElements(int, int, Object, DataBuffer) и setDataElements(int, int, Object, DataBuffer). Для ComponentSampleModel это значение совпадает с количеством полос.
Определено в:
getNumDataElements в классе SampleModel
Возвращает:
количество элементов данных, необходимых для передачи пикселя методами getDataElements и setDataElements.
См. также:
  • SampleModel.getNumDataElements()
  • SampleModel.getNumBands()

getDataElements

public Object getDataElements(int x, int y, Object obj, DataBuffer data)
Возвращает данные одного пикселя в примитивном массиве типа TransferType. Для ComponentSampleModel этот тип совпадает с типом данных, а отсчеты возвращаются по одному в каждом элементе массива. Как правило, в качестве null следует передавать obj, чтобы Object создавался автоматически и имел правильный примитивный тип данных.

В следующем примере показана передача данных одного пикселя из DataBuffer db1, схема хранения которого описывается ComponentSampleModel csm1, в DataBuffer db2, схема хранения которого описывается ComponentSampleModel csm2. Обычно такая передача эффективнее, чем использование getPixel и setPixel.

      ComponentSampleModel csm1, csm2;
      DataBufferInt db1, db2;
      csm2.setDataElements(x, y,
                           csm1.getDataElements(x, y, null, db1), db2);
Использование getDataElements и setDataElements для передачи между двумя парами DataBuffer/SampleModel допустимо, если объекты SampleModel имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество бит на отсчет, а TransferType совпадают.

Если obj не является null, он должен быть примитивным массивом типа TransferType. В противном случае будет выброшено исключение ClassCastException. Исключение ArrayIndexOutOfBoundsException может быть выброшено, если координаты выходят за допустимые границы или если obj не является null и недостаточно велик для хранения данных пикселя.

Определено в:
getDataElements в классе SampleModel
Параметры:
x — координата X пикселя
y — координата Y пикселя
obj — если не null, примитивный массив, в который возвращаются данные пикселя
data — DataBuffer, содержащий данные изображения
Возвращает:
данные указанного пикселя
Исключения:
NullPointerException — если данные равны null.
ArrayIndexOutOfBoundsException — если координаты выходят за допустимые границы или если obj слишком мал для хранения результата.
См. также:
  • setDataElements(int, int, Object, DataBuffer)

getPixel

public int[] getPixel(int x, int y, int[] iArray, DataBuffer data)
Возвращает все отсчёты для указанного пикселя в массиве int, по одному отсчёту на элемент массива. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
getPixel в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
iArray - если не равен null, возвращает отсчёты в этом массиве
data - DataBuffer, содержащий данные изображения
Возвращает:
отсчёты указанного пикселя.
Выбрасывает:
NullPointerException - если данные равны null.
ArrayIndexOutOfBoundsException - если координаты находятся за пределами допустимого диапазона или массив iArray слишком мал для хранения результата.
См. также:
  • setPixel(int, int, int[], DataBuffer)

getPixels

public int[] getPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Возвращает все отсчёты для указанного прямоугольника пикселей в массиве int, по одному отсчёту на элемент массива. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
getPixels в классе SampleModel
Параметры:
x - координата X местоположения верхнего левого пикселя
y - координата Y местоположения верхнего левого пикселя
w - ширина прямоугольника пикселей
h - высота прямоугольника пикселей
iArray - если не равен null, возвращает отсчёты в этом массиве
data - DataBuffer, содержащий данные изображения
Возвращает:
отсчёты пикселей в указанной области.
См. также:
  • setPixels(int, int, int, int, int[], DataBuffer)

getSample

public int getSample(int x, int y, int b, DataBuffer data)
Возвращает в виде int отсчёт в указанном канале для пикселя, расположенного в точке (x,y). Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Определён в:
getSample в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
b - канал, отсчёт из которого нужно вернуть
data - DataBuffer, содержащий данные изображения
Возвращает:
отсчёт в указанном канале для указанного пикселя
См. также:
  • setSample(int, int, int, int, DataBuffer)

getSampleFloat

public float getSampleFloat(int x, int y, int b, DataBuffer data)
Возвращает в виде float отсчёт в указанном канале для пикселя, расположенного в точке (x,y). Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
getSampleFloat в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
b - канал, отсчёт из которого нужно вернуть
data - DataBuffer, содержащий данные изображения
Возвращает:
значение float, представляющее отсчёт в указанном канале для указанного пикселя.

getSampleDouble

public double getSampleDouble(int x, int y, int b, DataBuffer data)
Возвращает в виде double отсчёт в указанном канале для пикселя, расположенного в точке (x,y). Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
getSampleDouble в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
b - канал, отсчёт из которого нужно вернуть
data - DataBuffer, содержащий данные изображения
Возвращает:
значение double, представляющее отсчёт в указанном канале для указанного пикселя.

getSamples

public int[] getSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Возвращает отсчёты в указанном канале для указанного прямоугольника пикселей в массиве int, по одному отсчёту на элемент массива данных. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
getSamples в классе SampleModel
Параметры:
x - координата X местоположения верхнего левого пикселя
y - координата Y местоположения верхнего левого пикселя
w - ширина прямоугольника пикселей
h - высота прямоугольника пикселей
b - канал, отсчёты из которого нужно вернуть
iArray - если не равен null, возвращает отсчёты в этом массиве
data - DataBuffer, содержащий данные изображения
Возвращает:
отсчёты указанного канала для указанного пикселя
См. также:
  • setSamples(int, int, int, int, int, int[], DataBuffer)

setDataElements

public void setDataElements(int x, int y, Object obj, DataBuffer data)
Задаёт данные для одного пикселя в указанном DataBuffer из примитивного массива типа TransferType. Для ComponentSampleModel это совпадает с типом данных, а отсчёты передаются по одному на элемент массива.

Следующий код демонстрирует передачу данных одного пикселя из DataBuffer db1, схема хранения которого описана в ComponentSampleModel csm1, в DataBuffer db2, схема хранения которого описана в ComponentSampleModel csm2. Обычно такая передача эффективнее, чем использование getPixel и setPixel.

      ComponentSampleModel csm1, csm2;
      DataBufferInt db1, db2;
      csm2.setDataElements(x, y, csm1.getDataElements(x, y, null, db1),
                           db2);
Использование getDataElements и setDataElements для передачи между двумя парами DataBuffer/SampleModel допустимо, если объекты SampleModel имеют одинаковое количество каналов, соответствующие каналы имеют одинаковое количество бит на отсчёт, а TransferType совпадают.

Выбрасывается ClassCastException, если obj не является примитивным массивом типа TransferType. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона или obj недостаточно велик для хранения данных пикселя.

Определён в:
setDataElements в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
obj - примитивный массив, содержащий данные пикселя
data - DataBuffer, содержащий данные изображения
См. также:
  • getDataElements(int, int, Object, DataBuffer)

setPixel

public void setPixel(int x, int y, int[] iArray, DataBuffer data)
Задаёт пиксель в DataBuffer, используя для входных данных массив int с отсчётами. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
setPixel в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
iArray - входные отсчёты в массиве int
data - DataBuffer, содержащий данные изображения
См. также:
  • getPixel(int, int, int[], DataBuffer)

setPixels

public void setPixels(int x, int y, int w, int h, int[] iArray, DataBuffer data)
Задаёт все отсчёты прямоугольника пикселей из массива int, содержащего по одному отсчёту на элемент массива. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
setPixels в классе SampleModel
Параметры:
x - координата X местоположения верхнего левого пикселя
y - координата Y местоположения верхнего левого пикселя
w - ширина прямоугольника пикселей
h - высота прямоугольника пикселей
iArray - входные отсчёты в массиве int
data - DataBuffer, содержащий данные изображения
См. также:
  • getPixels(int, int, int, int, int[], DataBuffer)

setSample

public void setSample(int x, int y, int b, int s, DataBuffer data)
Задаёт отсчёт в указанном канале для пикселя, расположенного в точке (x,y) в DataBuffer, используя в качестве входного значения int. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Определён в:
setSample в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
b - канал, в котором нужно задать отсчёт
s - входной отсчёт типа int
data - DataBuffer, содержащий данные изображения
См. также:
  • getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x, int y, int b, float s, DataBuffer data)
Задаёт отсчёт в указанном канале для пикселя, расположенного в точке (x,y) в DataBuffer, используя в качестве входного значения float. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
setSample в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
b - канал, в котором нужно задать отсчёт
s - входной отсчёт типа float
data - DataBuffer, содержащий данные изображения
См. также:
  • getSample(int, int, int, DataBuffer)

setSample

public void setSample(int x, int y, int b, double s, DataBuffer data)
Задаёт отсчёт в указанном канале для пикселя, расположенного в точке (x,y) в DataBuffer, используя в качестве входного значения double. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
setSample в классе SampleModel
Параметры:
x - координата X местоположения пикселя
y - координата Y местоположения пикселя
b - канал, в котором нужно задать отсчёт
s - входной отсчёт типа double
data - DataBuffer, содержащий данные изображения
См. также:
  • getSample(int, int, int, DataBuffer)

setSamples

public void setSamples(int x, int y, int w, int h, int b, int[] iArray, DataBuffer data)
Задаёт отсчёты в указанном канале для указанного прямоугольника пикселей из массива int, содержащего по одному отсчёту на элемент массива данных. Может быть выброшено ArrayIndexOutOfBoundsException, если координаты находятся за пределами допустимого диапазона.
Переопределяет:
setSamples в классе SampleModel
Параметры:
x - координата X местоположения верхнего левого пикселя
y - координата Y местоположения верхнего левого пикселя
w - ширина прямоугольника пикселей
h - высота прямоугольника пикселей
b - канал, в котором нужно задать отсчёты
iArray - входные отсчёты в массиве int
data - DataBuffer, содержащий данные изображения
См. также:
  • getSamples(int, int, int, int, int, int[], DataBuffer)

Сообщить об ошибке или предложить улучшение
Для получения дополнительных справочных материалов по API и документации для разработчиков см. документацию Java SE, содержащую более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/image/ComponentSampleModel.html

Spec-Zone.ru

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