Класс DataBuffer
- java.lang.Object
-
- java.awt.image.DataBuffer
- Прямые известные подклассы:
-
DataBufferByte,DataBufferDouble,DataBufferFloat,DataBufferInt,DataBufferShort,DataBufferUShort
public abstract class DataBuffer extends Object
Этот класс предназначен для обертывания одного или нескольких массивов данных. Каждый массив данных в DataBuffer называется банком. Существуют методы доступа для получения и установки элементов банков DataBuffer с и без указания банка. Методы без указания банка используют базовый банк 0. DataBuffer может необязательно принимать смещение для каждого банка, так что данные в существующем массиве могут использоваться, даже если интересные данные не начинаются с нулевого индекса массива. Получение или установка нулевого элемента банка использует (0+смещение)-й элемент массива. Поле size указывает, сколько данных массива доступно для использования. Размер + смещение для данного банка никогда не должны быть больше длины соответствующего массива данных. Тип данных буфера данных указывает тип массива(ов) данных и может также указывать дополнительные семантики, например, хранение беззнаковых 8-битовых данных в элементах массива байтов. Тип данных может быть TYPE_UNDEFINED или одним из типов, определённых ниже. В будущем могут быть добавлены другие типы. В общем случае, объект класса DataBuffer будет приведён к одному из его подклассов, специфичных для типа данных, для доступа к методам, специфичным для типа данных, для повышения производительности. В настоящее время API изображения Java 2D(tm) использует DataBuffers TYPE_BYTE, TYPE_USHORT, TYPE_INT, TYPE_SHORT, TYPE_FLOAT и TYPE_DOUBLE для хранения данных изображения.
- См. также:
-
Raster,SampleModel
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int | banks | Количество банков в этом DataBuffer. |
protected int | dataType | Тип данных этого DataBuffer. |
protected int | offset | Смещение в базовый (первый) банк от которого берётся первый элемент. |
protected int[] | offsets | Смещения во все банки. |
protected int | size | Используемый размер всех банков. |
static int | TYPE_BYTE | Тег для беззнаковых байтовых данных. |
static int | TYPE_DOUBLE | Тег для данных типа double. |
static int | TYPE_FLOAT | Тег для данных типа float. |
static int | TYPE_INT | Тег для данных типа int. |
static int | TYPE_SHORT | Тег для данных типа signed short. |
static int | TYPE_UNDEFINED | Тег для неопределённых данных. |
static int | TYPE_USHORT | Тег для беззнаковых данных типа short. |
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | DataBuffer(int dataType,
int size) | Создаёт DataBuffer, содержащий один банк заданного типа данных и размера. |
protected | DataBuffer(int dataType,
int size,
int numBanks) | Создаёт DataBuffer, содержащий указанное количество банков. |
protected | DataBuffer(int dataType,
int size,
int numBanks,
int offset) | Создаёт DataBuffer, содержащий указанное количество банков. |
protected | DataBuffer(int dataType,
int size,
int numBanks,
int[] offsets) | Создаёт DataBuffer, содержащий указанное количество банков. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
int | getDataType() | Возвращает тип данных этого DataBuffer. |
static int | getDataTypeSize(int type) | Возвращает размер (в битах) типа данных, заданного тегом типа данных. |
int | getElem(int i) | Возвращает запрошенный элемент массива данных из первого (базового) банка как целое число. |
abstract int | getElem(int bank,
int i) | Возвращает запрошенный элемент массива данных из указанного банка как целое число. |
double | getElemDouble(int i) | Возвращает запрошенный элемент массива данных из первого (базового) банка как double. |
double | getElemDouble(int bank,
int i) | Возвращает запрошенный элемент массива данных из указанного банка как double. |
float | getElemFloat(int i) | Возвращает запрошенный элемент массива данных из первого (базового) банка как float. |
float | getElemFloat(int bank,
int i) | Возвращает запрошенный элемент массива данных из указанного банка как float. |
int | getNumBanks() | Возвращает количество банков в этом DataBuffer. |
int | getOffset() | Возвращает смещение базового банка в элементах массива. |
int[] | getOffsets() | Возвращает смещения (в элементах массива) всех банков. |
int | getSize() | Возвращает размер (в элементах массива) всех банков. |
void | setElem(int i,
int val) | Устанавливает запрошенный элемент массива данных в первом (базовом) банке из заданного целого числа. |
abstract void | setElem(int bank,
int i,
int val) | Устанавливает запрошенный элемент массива данных в указанном банке из заданного целого числа. |
void | setElemDouble(int i,
double val) | Устанавливает запрошенный элемент массива данных в первом (базовом) банке из заданного double. |
void | setElemDouble(int bank,
int i,
double val) | Устанавливает запрошенный элемент массива данных в указанном банке из заданного double. |
void | setElemFloat(int i,
float val) | Устанавливает запрошенный элемент массива данных в первом (базовом) банке из заданного float. |
void | setElemFloat(int bank,
int i,
float val) | Устанавливает запрошенный элемент массива данных в указанном банке из заданного float. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
TYPE_BYTE
@Native public static final int TYPE_BYTE
Тег для данных беззнакового байта.
- См. также:
- Значения константных полей
TYPE_USHORT
@Native public static final int TYPE_USHORT
Тег для данных беззнакового короткого целого.
- См. также:
- Значения константных полей
TYPE_SHORT
@Native public static final int TYPE_SHORT
Тег для данных знакового короткого целого. Заполнитель для будущего использования.
- См. также:
- Значения константных полей
TYPE_INT
@Native public static final int TYPE_INT
Тег для данных типа int.
- См. также:
- Значения константных полей
TYPE_FLOAT
@Native public static final int TYPE_FLOAT
Тег для данных типа float. Заполнитель для будущего использования.
- См. также:
- Значения константных полей
TYPE_DOUBLE
@Native public static final int TYPE_DOUBLE
Тег для данных типа double. Заполнитель для будущего использования.
- См. также:
- Значения константных полей
TYPE_UNDEFINED
@Native public static final int TYPE_UNDEFINED
Тег для неопределенных данных.
- См. также:
- Значения константных полей
dataType
protected int dataType
Тип данных этого DataBuffer.
banks
protected int banks
Количество банков в этом DataBuffer.
offset
protected int offset
Смещение в стандартном (первом) банке, с которого нужно получить первый элемент.
size
protected int size
Используемый размер всех банков.
offsets
protected int[] offsets
Смещения во всех банках.
Конструкторы
DataBuffer
protected DataBuffer(int dataType,
int size) Создает DataBuffer, содержащий один банк указанного типа данных и размера.
- Параметры:
-
dataType- тип данных этогоDataBuffer -
size- размер банков
DataBuffer
protected DataBuffer(int dataType,
int size,
int numBanks) Создает DataBuffer, содержащий указанное количество банков. Каждый банк имеет указанный размер и смещение 0.
- Параметры:
-
dataType- тип данных этогоDataBuffer -
size- размер банков -
numBanks- количество банков в этомDataBuffer
DataBuffer
protected DataBuffer(int dataType,
int size,
int numBanks,
int offset) Создает DataBuffer, содержащий указанное количество банков. Каждый банк имеет указанный тип данных, размер и смещение.
- Параметры:
-
dataType- тип данных этогоDataBuffer -
size- размер банков -
numBanks- количество банков в этомDataBuffer -
offset- смещение для каждого банка
DataBuffer
protected DataBuffer(int dataType,
int size,
int numBanks,
int[] offsets) Создает DataBuffer, содержащий указанное количество банков. Каждый банк имеет указанный тип данных и размер. Смещение для каждого банка определяется соответствующей записью в массиве offsets.
- Параметры:
-
dataType- тип данных этогоDataBuffer -
size- размер банков -
numBanks- количество банков в этомDataBuffer -
offsets- массив, содержащий смещение для каждого банка. - Исключения:
-
ArrayIndexOutOfBoundsException- еслиnumBanksне равно длинеoffsets
Методы
getDataTypeSize
public static int getDataTypeSize(int type)
Возвращает размер (в битах) типа данных, заданного тегом типа данных.
- Параметры:
-
type- значение одного из определенных тегов типа данных - Возвращает:
- размер типа данных
- Исключения:
-
IllegalArgumentException- еслиtypeменьше нуля или большеTYPE_DOUBLE
getDataType
public int getDataType()
Возвращает тип данных этого DataBuffer.
- Возвращает:
- тип данных этого
DataBuffer.
getSize
public int getSize()
Возвращает размер (в элементах массива) всех банков.
- Возвращает:
- размер всех банков.
getOffset
public int getOffset()
Возвращает смещение по умолчанию банка в элементах массива.
- Возвращает:
- смещение по умолчанию банка.
getOffsets
public int[] getOffsets()
Возвращает смещения (в элементах массива) всех банков.
- Возвращает:
- смещения всех банков.
getNumBanks
public int getNumBanks()
Возвращает количество банков в этом DataBuffer.
- Возвращает:
- количество банков.
getElem
public int getElem(int i)
Возвращает запрашиваемый элемент массива данных из первого (по умолчанию) банка как целое число.
- Параметры:
-
i- индекс запрашиваемого элемента массива данных - Возвращает:
- элемент массива данных по указанному индексу.
- См. также:
-
setElem(int, int),setElem(int, int, int)
getElem
public abstract int getElem(int bank,
int i) Возвращает запрашиваемый элемент массива данных из указанного банка как целое число.
- Параметры:
-
bank- указанный банк -
i- индекс запрашиваемого элемента массива данных - Возвращает:
- элемент массива данных по указанному индексу из указанного банка.
- См. также:
-
setElem(int, int),setElem(int, int, int)
setElem
public void setElem(int i,
int val) Устанавливает запрашиваемый элемент массива данных в первом (по умолчанию) банке из заданного целого числа.
- Параметры:
-
i- указанный индекс в массиве данных -
val- данные для установки элемента по указанному индексу в массиве данных - См. также:
-
getElem(int),getElem(int, int)
setElem
public abstract void setElem(int bank,
int i,
int val) Устанавливает запрашиваемый элемент массива данных в указанном банке из заданного целого числа.
- Параметры:
-
bank- указанный банк -
i- указанный индекс в массиве данных -
val- данные для установки элемента в указанном банке по указанному индексу в массиве данных - См. также:
-
getElem(int),getElem(int, int)
getElemFloat
public float getElemFloat(int i)
Возвращает запрашиваемый элемент массива данных из первого (по умолчанию) банка как число с плавающей точкой. Реализация в этом классе заключается в приведении getElem(i) к типу float. Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
i- индекс запрашиваемого элемента массива данных - Возвращает:
- значение с плавающей точкой, представляющее элемент массива данных по указанному индексу.
- См. также:
-
setElemFloat(int, float),setElemFloat(int, int, float)
getElemFloat
public float getElemFloat(int bank,
int i) Возвращает запрашиваемый элемент массива данных из указанного банка как число с плавающей точкой. Реализация в этом классе заключается в приведении getElem(int, int) к типу float. Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
bank- указанный банк -
i- индекс запрашиваемого элемента массива данных - Возвращает:
- значение с плавающей точкой, представляющее элемент массива данных из указанного банка по указанному индексу.
- См. также:
-
setElemFloat(int, float),setElemFloat(int, int, float)
setElemFloat
public void setElemFloat(int i,
float val) Устанавливает запрашиваемый элемент массива данных в первом (по умолчанию) банке из заданного числа с плавающей точкой. Реализация в этом классе заключается в приведении val к типу int и вызове setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
i- указанный индекс -
val- значение для установки элемента по указанному индексу в массиве данных - См. также:
-
getElemFloat(int),getElemFloat(int, int)
setElemFloat
public void setElemFloat(int bank,
int i,
float val) Устанавливает запрашиваемый элемент массива данных в указанном банке из заданного числа с плавающей точкой. Реализация в этом классе заключается в приведении val к типу int и вызове setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
bank- указанный банк -
i- указанный индекс -
val- значение для установки элемента в указанном банке по указанному индексу в массиве данных - См. также:
-
getElemFloat(int),getElemFloat(int, int)
getElemDouble
public double getElemDouble(int i)
Возвращает запрашиваемый элемент массива данных из первого (по умолчанию) банка как число с двойной точностью. Реализация в этом классе заключается в приведении getElem(int) к типу double. Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
i- указанный индекс - Возвращает:
- значение с двойной точностью, представляющее элемент по указанному индексу в массиве данных.
- См. также:
-
setElemDouble(int, double),setElemDouble(int, int, double)
getElemDouble
public double getElemDouble(int bank,
int i) Возвращает запрашиваемый элемент массива данных из указанного банка как число с двойной точностью. Реализация в этом классе заключается в приведении getElem(bank, i) к типу double. Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
bank- указанный банк -
i- указанный индекс - Возвращает:
- значение с двойной точностью, представляющее элемент из указанного банка по указанному индексу в массиве данных.
- См. также:
-
setElemDouble(int, double),setElemDouble(int, int, double)
setElemDouble
public void setElemDouble(int i,
double val) Устанавливает запрашиваемый элемент массива данных в первом (по умолчанию) банке из заданного числа с двойной точностью. Реализация в этом классе заключается в приведении val к типу int и вызове setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
i- указанный индекс -
val- значение для установки элемента по указанному индексу в массиве данных - См. также:
-
getElemDouble(int),getElemDouble(int, int)
setElemDouble
public void setElemDouble(int bank,
int i,
double val) Устанавливает запрашиваемый элемент массива данных в указанном банке из заданного числа с двойной точностью. Реализация в этом классе заключается в приведении val к типу int и вызове setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
bank- указанный банк -
i- указанный индекс -
val- значение для установки элемента в указанном банке по указанному индексу в массиве данных - См. также:
-
getElemDouble(int),getElemDouble(int, int)
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/image/DataBuffer.html