Класс ComponentSampleModel
- java.lang.Object
-
- java.awt.image.SampleModel
-
- java.awt.image.ComponentSampleModel
- Прямые известные подклассы:
- BandedSampleModel, PixelInterleavedSampleModel
public class ComponentSampleModel extends SampleModel
Этот класс представляет данные изображения, хранящиеся таким образом, что каждый образец пикселя занимает один элемент данных буфера данных. Он хранит N образцов, составляющих пиксель, в N отдельных элементах массива данных. Разные полосы могут находиться в разных банках буфера данных. Предоставляются методы-аксессоры для непосредственного управления данными изображения. Этот класс может поддерживать различные виды чередования, например, чередование полос, чередование строк и чередование пикселей. Шаг пикселя — это количество элементов массива данных между двумя образцами одной и той же полосы на одной и той же строке. Шаг строки — это количество элементов массива данных между заданным образцом и соответствующим образцом в той же колонке следующей строки. Смещения полос обозначают количество элементов массива данных от первого элемента массива данных банка буфера данных, содержащего каждую полосу, до первого образца полосы. Номера полос идут от 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 Количество полос в этом |
protected int |
numBanks Количество банков в этом |
protected int |
pixelStride Шаг пикселя (в элементах массива данных) области данных изображения, описанной этим ComponentSampleModel. |
protected int |
scanlineStride Шаг строки (в элементах массива данных) области данных изображения, описанной этим ComponentSampleModel. |
Поля, унаследованные от класса java.awt.image.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) Создаёт новый |
DataBuffer |
createDataBuffer() Создаёт |
SampleModel |
createSubsetSampleModel(int[] bands) Создаёт новый ComponentSampleModel с подмножеством полос этого ComponentSampleModel. |
boolean |
equals(Object o) Указывает, является ли какой-либо другой объект "равным" этому. |
int[] |
getBandOffsets() Возвращает смещение полосы для всех полос. |
int[] |
getBankIndices() Возвращает индексы банка для всех полос. |
Object |
getDataElements(int x,
int y,
Object obj,
DataBuffer data) Возвращает данные для одного пикселя в примитивном массиве типа |
int |
getNumDataElements() Возвращает количество элементов данных, необходимых для передачи пикселя с помощью методов |
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, по одному образцу на элемент массива. |
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, по одному образцу на элемент массива данных. |
int[] |
getSampleSize() Возвращает количество бит на образец для всех полос. |
int |
getSampleSize(int band) Возвращает количество бит на образец для указанной полосы. |
int |
getScanlineStride() Возвращает шаг строки этого ComponentSampleModel. |
int |
hashCode() Возвращает хэш-код объекта. |
void |
setDataElements(int x,
int y,
Object obj,
DataBuffer data) Устанавливает данные для одного пикселя в указанном |
void |
setPixel(int x,
int y,
int[] iArray,
DataBuffer data) Устанавливает пиксель в |
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) в |
void |
setSample(int x,
int y,
int b,
float s,
DataBuffer data) Устанавливает образец в указанной полосе для пикселя по координатам (x,y) в |
void |
setSample(int x,
int y,
int b,
int s,
DataBuffer data) Устанавливает образец в указанной полосе для пикселя по координатам (x,y) в |
void |
setSamples(int x,
int y,
int w,
int h,
int b,
int[] iArray,
DataBuffer data) Устанавливает образцы в указанной полосе для указанного прямоугольника пикселей из массива int, содержащего по одному образцу на элемент массива данных. |
Методы, унаследованные от класса java.awt.image.SampleModel
getDataElements, getDataType, getHeight, getNumBands, getPixel, getPixel, getPixels, getPixels, getSamples, getSamples, getTransferType, getWidth, setDataElements, setPixel, setPixel, setPixels, setPixels, setSamples, setSamples Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, 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- еслиpixelStrideменьше 0 -
IllegalArgumentException- еслиscanlineStrideменьше 0 -
IllegalArgumentException- еслиnumBandsменьше 1 -
IllegalArgumentException- если произведениеwиhбольшеInteger.MAX_VALUE -
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- еслиpixelStrideменьше 0 -
IllegalArgumentException- еслиscanlineStrideменьше 0 -
IllegalArgumentException- если длинаbankIndicesне равна длинеbankOffsets -
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 с ComponentSampleModel, как 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 с ComponentSampleModel, как 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 это то же, что и тип данных, и образцы возвращаются по одному на элемент массива. Обычно obj следует передавать в качестве null, чтобы 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 для передачи между двумя парами ComponentSampleModel/DataBuffer допустимо, если объекты ComponentSampleModel имеют одинаковое количество полос, соответствующие полосы имеют одинаковое количество бит на образец, и DataBuffer одинаковые. Если 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- если data равно 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) Возвращает образец в указанном канале для пикселя по координатам (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) Возвращает образец в указанном канале для пикселя по координатам (x,y) как число с плавающей запятой. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ.
- Переопределяет:
-
getSampleFloatв классеSampleModel - Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
b- Возвращаемый канал -
data- DataBuffer, содержащий данные изображения - Возвращает:
- значение с плавающей запятой, представляющее образец в указанном канале для указанного пикселя.
getSampleDouble
public double getSampleDouble(int x,
int y,
int b,
DataBuffer data) Возвращает образец в указанном канале для пикселя по координатам (x,y) как число двойной точности. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты находятся вне границ.
- Переопределяет:
-
getSampleDoubleв классеSampleModel - Параметры:
-
x- Координата X пикселя -
y- Координата Y пикселя -
b- Возвращаемый канал -
data- DataBuffer, содержащий данные изображения - Возвращает:
- значение двойной точности, представляющее образец в указанном канале для указанного пикселя.
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- входное значение образца как целое число -
data- DataBuffer, содержащий данные изображения - См. также:
getSample(int, int, int, DataBuffer)
setSample
public void setSample(int x,
int y,
int b,
float s,
DataBuffer data) Устанавливает образец в указанной полосе для пикселя, расположенного в (x,y) в DataBuffer, используя для ввода значение с плавающей точкой. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
- Переопределяет:
-
setSampleв классеSampleModel - Параметры:
-
x- Координата X пиксельного расположения -
y- Координата Y пиксельного расположения -
b- полоса для задания -
s- входное значение образца как значение с плавающей точкой -
data- DataBuffer, содержащий данные изображения - См. также:
getSample(int, int, int, DataBuffer)
setSample
public void setSample(int x,
int y,
int b,
double s,
DataBuffer data) Устанавливает образец в указанной полосе для пикселя, расположенного в (x,y) в DataBuffer, используя для ввода значение с двойной точностью. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
- Переопределяет:
-
setSampleв классеSampleModel - Параметры:
-
x- Координата X пиксельного расположения -
y- Координата Y пиксельного расположения -
b- полоса для задания -
s- входное значение образца как значение с двойной точностью -
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) Устанавливает образцы в указанной полосе для указанного прямоугольника пикселей из массива целых чисел, содержащего по одному образцу на каждый элемент данных. Может быть выброшено исключение ArrayIndexOutOfBoundsException, если координаты не находятся в пределах границ.
- Переопределяет:
-
setSamplesв классеSampleModel - Параметры:
-
x- Координата X верхнего левого пиксельного расположения -
y- Координата Y верхнего левого пиксельного расположения -
w- Ширина пиксельного прямоугольника -
h- Высота пиксельного прямоугольника -
b- полоса для задания -
iArray- входные образцы в массиве целых чисел -
data- DataBuffer, содержащий данные изображения - См. также:
getSamples(int, int, int, int, int, int[], DataBuffer)
equals
public boolean equals(Object o)
Описание скопировано из класса: Object
Указывает, является ли какой-либо другой объект "равным" этому.
Метод equals реализует отношение эквивалентности на ссылках на объекты, отличные от null:
- Он рефлексивен: для любого значения ссылки на объект, отличного от null,
x.equals(x)должен возвращатьtrue. - Он симметричен: для любых значений ссылки на объект, отличных от null,
xиy,x.equals(y)должен возвращатьtrueтогда и только тогда, когдаy.equals(x)возвращаетtrue. - Он транзитивен: для любых значений ссылки на объект, отличных от null,
x,yиz, еслиx.equals(y)возвращаетtrueиy.equals(z)возвращаетtrue, тоx.equals(z)должен возвращатьtrue. - Он постоянен: для любых значений ссылки на объект, отличных от null,
xиy, многократные вызовыx.equals(y)последовательно возвращаютtrueили последовательно возвращаютfalse, при условии, что информация, используемая в сравненияхequalsобъектов, не изменяется. - Для любого значения ссылки на объект, отличного от null,
x.equals(null)должен возвращатьfalse.
Метод equals для класса Object реализует максимально возможный критерий эквивалентности для объектов; другими словами, для любых значений ссылки на объект, отличных от null, x и y, этот метод возвращает true тогда и только тогда, когда x и y ссылаются на один и тот же объект (x == y имеет значение true).
Обратите внимание, что обычно необходимо переопределять метод hashCode всякий раз, когда этот метод переопределяется, чтобы сохранить общий контракт для метода hashCode, который гласит, что равные объекты должны иметь равные коды хеширования.
- Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объект-ссылка, с которым нужно сравнить. - Возвращает:
-
trueесли этот объект такой же, как аргумент obj;falseв противном случае. - См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Описание скопировано из класса: Object
Возвращает значение кода хеширования для объекта. Этот метод поддерживается для удобства хеш-таблиц, таких как предоставляемые HashMap.
Общий контракт hashCode:
- Всякий раз, когда он вызывается на одном и том же объекте более одного раза во время выполнения Java-приложения, метод
hashCodeдолжен последовательно возвращать то же самое целое число, при условии, что информация, используемая в сравненияхequalsобъекта, не изменяется. Это целое число не обязательно должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения. - Если два объекта равны согласно методу
equals(Object), то вызов методаhashCodeдля каждого из двух объектов должен возвращать одно и то же целое значение. - Не требуется, чтобы, если два объекта не равны согласно методу
Object.equals(java.lang.Object), вызов методаhashCodeдля каждого из двух объектов возвращал различные целые значения. Однако программист должен понимать, что получение различных целочисленных результатов для неравных объектов может улучшить производительность хеш-таблиц.
По возможности, метод hashCode, определенный классом Object, возвращает различные целые числа для различных объектов. (Обычно это реализуется путем преобразования внутреннего адреса объекта в целое число, но такая техника реализации не требуется языком программирования Java™).
- Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение кода хеширования для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
© 1993, 2020, 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.