Класс 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 задаёт объём массива данных, доступный для использования. Значение size + смещение для любого банка никогда не должно превышать длину соответствующего массива данных. Тип данных буфера данных указывает тип массива или массивов данных и также может задавать дополнительную семантику, например хранение беззнаковых 8-битных данных в элементах байтового массива. Тип данных может быть TYPE_UNDEFINED или одним из типов, определённых ниже. В будущем могут быть добавлены другие типы. Как правило, объект класса DataBuffer приводится к одному из подклассов, соответствующих его типу данных, чтобы получить доступ к специфичным для этого типа методам и повысить производительность. В настоящее время классы изображений API Java 2D(tm) используют DataBuffer типов TYPE_BYTE, TYPE_USHORT, TYPE_INT, TYPE_SHORT, TYPE_FLOAT и TYPE_DOUBLE для хранения данных изображения.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected int |
banks |
Количество банков в этом DataBuffer. |
protected int |
dataType |
Тип данных этого DataBuffer. |
protected int |
offset |
Смещение в банке по умолчанию (первом), с которого начинается получение первого элемента. |
protected int[] |
offsets |
Смещения во всех банках. |
protected int |
size |
Доступный размер всех банков. |
static final int |
TYPE_BYTE |
Метка для беззнаковых байтовых данных. |
static final int |
TYPE_DOUBLE |
Метка для данных типа double. |
static final int |
TYPE_FLOAT |
Метка для данных типа float. |
static final int |
TYPE_INT |
Метка для данных типа int. |
static final int |
TYPE_SHORT |
Метка для знаковых данных типа short. |
static final int |
TYPE_UNDEFINED |
Метка для неопределённых данных. |
static final int |
TYPE_USHORT |
Метка для беззнаковых данных типа short. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт DataBuffer с одним банком указанного типа данных и размера. |
|
protected |
Создаёт DataBuffer с указанным количеством банков. |
|
protected |
Создаёт DataBuffer, содержащий указанное количество банков. |
|
protected |
Создаёт DataBuffer, содержащий указанное количество банков. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
getDataType() |
Возвращает тип данных этого DataBuffer. |
static int |
getDataTypeSize |
Возвращает размер типа данных в битах по метке типа данных. |
int |
getElem |
Возвращает запрошенный элемент массива данных из первого (банка по умолчанию) банка как целое число. |
abstract int |
getElem |
Возвращает запрошенный элемент массива данных из указанного банка как целое число. |
double |
getElemDouble |
Возвращает запрошенный элемент массива данных из первого (банка по умолчанию) банка как значение типа double. |
double |
getElemDouble |
Возвращает запрошенный элемент массива данных из указанного банка как значение типа double. |
float |
getElemFloat |
Возвращает запрошенный элемент массива данных из первого (банка по умолчанию) банка как значение типа float. |
float |
getElemFloat |
Возвращает запрошенный элемент массива данных из указанного банка как значение типа float. |
int |
getNumBanks() |
Возвращает количество банков в этом DataBuffer. |
int |
getOffset() |
Возвращает смещение банка по умолчанию в элементах массива. |
int[] |
getOffsets() |
Возвращает смещения всех банков в элементах массива. |
int |
getSize() |
Возвращает размер всех банков в элементах массива. |
void |
setElem |
Устанавливает запрошенный элемент массива данных в первом (банке по умолчанию) банке, используя заданное целое число. |
abstract void |
setElem |
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное целое число. |
void |
setElemDouble |
Устанавливает запрошенный элемент массива данных в первом (банке по умолчанию) банке, используя заданное значение типа double. |
void |
setElemDouble |
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное значение типа double. |
void |
setElemFloat |
Устанавливает запрошенный элемент массива данных в первом (банке по умолчанию) банке, используя заданное значение типа float. |
void |
setElemFloat |
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное значение типа float. |
Подробное описание полей
TYPE_BYTE
@Native public static final int TYPE_BYTE
Метка для беззнаковых байтовых данных.
- См. также:
TYPE_USHORT
@Native public static final int TYPE_USHORT
Метка для беззнаковых данных типа short.
- См. также:
TYPE_SHORT
@Native public static final int TYPE_SHORT
Метка для знаковых данных типа 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— индекс запрошенного элемента массива данных - Возвращает:
- элемент массива данных с указанным индексом.
- См. также:
getElem
public abstract int getElem(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка как целое число.
- Параметры:
-
bank— указанный банк -
i— индекс запрошенного элемента массива данных - Возвращает:
- элемент массива данных с указанным индексом из указанного банка.
- См. также:
setElem
public void setElem(int i, int val)
Устанавливает запрошенный элемент массива данных в первом (банке по умолчанию) банке, используя заданное целое число.
- Параметры:
-
i— указанный индекс в массиве данных -
val— данные, которыми нужно установить элемент массива данных с указанным индексом - См. также:
setElem
public abstract void setElem(int bank, int i, int val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное целое число.
- Параметры:
-
bank— указанный банк -
i— указанный индекс в массиве данных -
val— данные, которыми нужно установить элемент указанного банка с указанным индексом в массиве данных - См. также:
getElemFloat
public float getElemFloat(int i)
Возвращает запрошенный элемент массива данных из первого (банка по умолчанию) банка как значение типа float. В этой реализации getElem(i) приводится к типу float. Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
i— индекс запрошенного элемента массива данных - Возвращает:
- значение типа float, представляющее элемент массива данных с указанным индексом.
- См. также:
getElemFloat
public float getElemFloat(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка как значение типа float. В этой реализации
getElem(int, int) приводится к типу float. Подклассы могут переопределить этот метод, если требуется другая реализация.- Параметры:
-
bank— указанный банк -
i— индекс запрошенного элемента массива данных - Возвращает:
- значение типа float, представляющее элемент массива данных из указанного банка с указанным индексом.
- См. также:
setElemFloat
public void setElemFloat(int i, float val)
Устанавливает запрошенный элемент массива данных в первом (банке по умолчанию) банке, используя заданное значение типа float. В этой реализации val приводится к типу int, после чего вызывается
setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.- Параметры:
-
i— указанный индекс -
val— значение, которым нужно установить элемент массива данных с указанным индексом - См. также:
setElemFloat
public void setElemFloat(int bank, int i, float val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное значение типа float. В этой реализации val приводится к типу int, после чего вызывается
setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.- Параметры:
-
bank— указанный банк -
i— указанный индекс -
val— значение, которым нужно установить элемент указанного банка с указанным индексом в массиве данных - См. также:
getElemDouble
public double getElemDouble(int i)
Возвращает запрошенный элемент массива данных из первого (банка по умолчанию) банка как значение типа double. В этой реализации
getElem(int) приводится к типу double. Подклассы могут переопределить этот метод, если требуется другая реализация.- Параметры:
-
i— указанный индекс - Возвращает:
- значение типа double, представляющее элемент массива данных с указанным индексом.
- См. также:
getElemDouble
public double getElemDouble(int bank, int i)
Возвращает запрошенный элемент массива данных из указанного банка как значение типа double. В этой реализации getElem(bank, i) приводится к типу double. Подклассы могут переопределить этот метод, если требуется другая реализация.
- Параметры:
-
bank— указанный банк -
i— указанный индекс - Возвращает:
- значение типа double, представляющее элемент массива данных из указанного банка с указанным индексом.
- См. также:
setElemDouble
public void setElemDouble(int i, double val)
Устанавливает запрошенный элемент массива данных в первом (банке по умолчанию) банке, используя заданное значение типа double. В этой реализации val приводится к типу int, после чего вызывается
setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.- Параметры:
-
i— указанный индекс -
val— значение, которым нужно установить элемент массива данных с указанным индексом - См. также:
setElemDouble
public void setElemDouble(int bank, int i, double val)
Устанавливает запрошенный элемент массива данных в указанном банке, используя заданное значение типа double. В этой реализации val приводится к типу int, после чего вызывается
setElem(int, int). Подклассы могут переопределить этот метод, если требуется другая реализация.- Параметры:
-
bank— указанный банк -
i— указанный индекс -
val— значение, которым нужно установить элемент указанного банка с указанным индексом в массиве данных - См. также:
© 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/DataBuffer.html