Класс BufferedImage

Все реализуемые интерфейсы:
RenderedImage, WritableRenderedImage, Transparency
public class BufferedImage
extends Image
implements WritableRenderedImage, Transparency

Подкласс BufferedImage описывает Image с доступным буфером данных изображения. BufferedImage состоит из ColorModel и Raster данных изображения. Количество и типы полос в SampleModel Raster должны соответствовать количеству и типам, требуемым ColorModel, для представления цветовых и альфа-компонентов. Все объекты BufferedImage имеют координату верхнего левого угла (0, 0). Любой Raster, используемый для построения BufferedImage, должен иметь minX=0 и minY=0.

Этот класс полагается на методы извлечения и установки данных из Raster, и на методы характеризации цвета из ColorModel.

См. также:
ColorModel, Raster, WritableRaster

Сводка полей

Модификатор и тип Поле Описание
static int TYPE_3BYTE_BGR

Представляет изображение с 8-битными RGB-цветами, соответствующими цветовой модели BGR в стиле Windows, где цвета Синий, Зелёный и Красный хранятся в 3 байтах.

static int TYPE_4BYTE_ABGR

Представляет изображение с 8-битными RGBA-цветами, где цвета Синий, Зелёный и Красный хранятся в 3 байтах, а 1 байт — альфа-канал.

static int TYPE_4BYTE_ABGR_PRE

Представляет изображение с 8-битными RGBA-цветами, где цвета Синий, Зелёный и Красный хранятся в 3 байтах, а 1 байт — альфа-канал.

static int TYPE_BYTE_BINARY

Представляет непрозрачное байтовое упакованное изображение с 1, 2 или 4 битами.

static int TYPE_BYTE_GRAY

Представляет изображение с 8-битным оттенением серого, не индексированное.

static int TYPE_BYTE_INDEXED

Представляет индексированное байтовое изображение.

static int TYPE_CUSTOM

Тип изображения не распознан, поэтому это может быть пользовательское изображение.

static int TYPE_INT_ARGB

Представляет изображение с 8-битными RGBA-цветами, упакованными в целочисленные пиксели.

static int TYPE_INT_ARGB_PRE

Представляет изображение с 8-битными RGBA-цветами, упакованными в целочисленные пиксели.

static int TYPE_INT_BGR

Представляет изображение с 8-битными RGB-цветами, соответствующими цветовой модели BGR в стиле Windows или Solaris, где цвета Синий, Зелёный и Красный упакованы в целочисленные пиксели.

static int TYPE_INT_RGB

Представляет изображение с 8-битными RGB-цветами, упакованными в целочисленные пиксели.

static int TYPE_USHORT_555_RGB

Представляет изображение с 5-5-5 RGB-цветами (5 бит красный, 5 бит зелёный, 5 бит синий) без альфа-канала.

static int TYPE_USHORT_565_RGB

Представляет изображение с 5-6-5 RGB-цветами (5 бит красный, 6 бит зелёный, 5 бит синий) без альфа-канала.

static int TYPE_USHORT_GRAY

Представляет изображение с 16-битным оттенением серого, не индексированное.

Поля, объявленные в классе java.awt.Image

accelerationPriority, SCALE_AREA_AVERAGING, SCALE_DEFAULT, SCALE_FAST, SCALE_REPLICATE, SCALE_SMOOTH, UndefinedProperty

Поля, объявленные в интерфейсе java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Сводка конструкторов

Конструктор Описание
BufferedImage​(int width, int height, int imageType)

Создаёт BufferedImage одного из предопределённых типов изображений.

BufferedImage​(int width, int height, int imageType, IndexColorModel cm)

Создаёт BufferedImage одного из предопределённых типов изображений: TYPE_BYTE_BINARY или TYPE_BYTE_INDEXED.

BufferedImage​(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,​?> properties)

Создаёт новый BufferedImage со специфицированным ColorModel и Raster.

Методы

Модификатор и тип Метод Описание
void addTileObserver​(TileObserver to)

Добавляет наблюдателя за плиткой.

void coerceData​(boolean isAlphaPremultiplied)

Принудительно синхронизирует данные с состоянием, указанным в переменной isAlphaPremultiplied.

WritableRaster copyData​(WritableRaster outRaster)

Вычисляет произвольную прямоугольную область BufferedImage и копирует её в указанную WritableRaster.

Graphics2D createGraphics()

Создаёт Graphics2D, который можно использовать для рисования в этой BufferedImage.

WritableRaster getAlphaRaster()

Возвращает WritableRaster, представляющий альфа-канал для BufferedImage объектов с ColorModel объектами, поддерживающими отдельный пространственный альфа-канал, например ComponentColorModel и DirectColorModel.

ColorModel getColorModel()

Возвращает ColorModel.

Raster getData()

Возвращает изображение как одну большую плитку.

Raster getData​(Rectangle rect)

Вычисляет и возвращает произвольную область BufferedImage.

Graphics getGraphics()

Этот метод возвращает Graphics2D, но он здесь для обратной совместимости.

int getHeight()

Возвращает высоту BufferedImage.

int getHeight​(ImageObserver observer)

Возвращает высоту BufferedImage.

int getMinTileX()

Возвращает минимальный индекс плитки в направлении x.

int getMinTileY()

Возвращает минимальный индекс плитки в направлении y.

int getMinX()

Возвращает минимальную координату x этой BufferedImage.

int getMinY()

Возвращает минимальную координату y этой BufferedImage.

int getNumXTiles()

Возвращает количество плиток в направлении x.

int getNumYTiles()

Возвращает количество плиток в направлении y.

Object getProperty​(String name)

Возвращает свойство изображения по имени.

Object getProperty​(String name, ImageObserver observer)

Возвращает свойство изображения по имени.

String[] getPropertyNames()

Возвращает массив имён, распознанных методом getProperty(String), или null, если имена свойств не распознаны.

WritableRaster getRaster()

Возвращает WritableRaster.

int getRGB​(int x, int y)

Возвращает целочисленный пиксель в стандартной цветовой модели RGB (TYPE_INT_ARGB) и стандартном цветовом пространстве sRGB.

int[] getRGB​(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)

Возвращает массив целочисленных пикселей в стандартной цветовой модели RGB (TYPE_INT_ARGB) и стандартном цветовом пространстве sRGB из части данных изображения.

SampleModel getSampleModel()

Возвращает SampleModel , связанное с этим BufferedImage.

ImageProducer getSource()

Возвращает объект, производящий пиксели для изображения.

Vector<RenderedImage> getSources()

Возвращает Vector объектов RenderedImage, которые являются непосредственными источниками, а не источниками этих непосредственных источников, данных изображения для этого BufferedImage.

BufferedImage getSubimage​(int x, int y, int w, int h)

Возвращает подизображение, определяемое указанной прямоугольной областью.

Raster getTile​(int tileX, int tileY)

Возвращает плитку (tileX, tileY).

int getTileGridXOffset()

Возвращает смещение x сетки плиток относительно начала координат. Например, координата x расположения плитки (0, 0).

int getTileGridYOffset()

Возвращает смещение y сетки плиток относительно начала координат. Например, координата y расположения плитки (0, 0).

int getTileHeight()

Возвращает высоту плитки в пикселях.

int getTileWidth()

Возвращает ширину плитки в пикселях.

int getTransparency()

Возвращает прозрачность.

int getType()

Возвращает тип изображения.

int getWidth()

Возвращает ширину BufferedImage.

int getWidth​(ImageObserver observer)

Возвращает ширину BufferedImage.

WritableRaster getWritableTile​(int tileX, int tileY)

Запрашивает доступ к плитке для записи.

Point[] getWritableTileIndices()

Возвращает массив объектов Point, указывающих, какие плитки запрашиваются для записи.

boolean hasTileWriters()

Возвращает, есть ли хотя бы одна запрашиваемая для записи плитка.

boolean isAlphaPremultiplied()

Возвращает, была ли альфа-компонента предварительно умножена.

boolean isTileWritable​(int tileX, int tileY)

Возвращает, доступна ли плитка для записи.

void releaseWritableTile​(int tileX, int tileY)

Освобождает разрешение на запись в плитку.

void removeTileObserver​(TileObserver to)

Удаляет наблюдателя за плиткой.

void setData​(Raster r)

Заполняет прямоугольную область изображения содержимым указанной Raster r, которая предполагается находящейся в той же системе координат, что и BufferedImage.

void setRGB​(int x, int y, int rgb)

Устанавливает пиксель в этой BufferedImage до указанного значения RGB.

void setRGB​(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)

Устанавливает массив целочисленных пикселей в стандартной цветовой модели RGB (TYPE_INT_ARGB) и стандартном цветовом пространстве sRGB в часть данных изображения.

String toString()

Возвращает String представление этого объекта BufferedImage и его значений.

Методы, объявленные в классе java.awt.Image

flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority

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

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

Поля

TYPE_CUSTOM

public static final int TYPE_CUSTOM

Тип изображения не распознан, поэтому оно должно быть настраиваемым. Этот тип используется только в качестве возвращаемого значения для метода getType().

См. также:
Значения константных полей

TYPE_INT_RGB

public static final int TYPE_INT_RGB

Представляет изображение с 8-битными цветовыми компонентами RGB, упакованными в целочисленные пиксели. Изображение имеет DirectColorModel без альфа-компонента. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_INT_ARGB

public static final int TYPE_INT_ARGB

Представляет изображение с 8-битными цветовыми компонентами RGBA, упакованными в целочисленные пиксели. Изображение имеет DirectColorModel с альфа-каналом. Данные цвета в этом изображении считаются не умноженными на альфа-канал. Когда этот тип используется в качестве параметра imageType конструктору BufferedImage, создаваемое изображение соответствует изображениям, созданным в JDK 1.1 и более ранних версиях.

См. также:
Значения константных полей

TYPE_INT_ARGB_PRE

public static final int TYPE_INT_ARGB_PRE

Представляет изображение с 8-битными цветовыми компонентами RGBA, упакованными в целочисленные пиксели. Изображение имеет DirectColorModel с альфа-каналом. Данные цвета в этом изображении считаются предварительно умноженными на альфа-канал.

См. также:
Значения константных полей

TYPE_INT_BGR

public static final int TYPE_INT_BGR

Представляет изображение с 8-битными цветовыми компонентами RGB, соответствующими цветовой модели BGR в стиле Windows или Solaris, где цвета Синий, Зелёный и Красный упакованы в целочисленные пиксели. Альфа-канал отсутствует. Изображение имеет DirectColorModel. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_3BYTE_BGR

public static final int TYPE_3BYTE_BGR

Представляет изображение с 8-битными цветовыми компонентами RGB, соответствующими цветовой модели BGR в стиле Windows, где цвета Синий, Зелёный и Красный хранятся в 3 байтах. Альфа-канал отсутствует. Изображение имеет ComponentColorModel. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_4BYTE_ABGR

public static final int TYPE_4BYTE_ABGR

Представляет изображение с 8-битными цветовыми компонентами RGBA, где цвета Синий, Зелёный и Красный хранятся в 3 байтах, а 1 байт — альфа-канал. Изображение имеет ComponentColorModel с альфа-каналом. Данные цвета в этом изображении считаются не умноженными на альфа-канал. Данные байтов перечислены в одном массиве байтов в порядке A, B, G, R снизу вверх в каждом пикселе.

См. также:
Значения константных полей

TYPE_4BYTE_ABGR_PRE

public static final int TYPE_4BYTE_ABGR_PRE

Представляет изображение с 8-битными цветовыми компонентами RGBA, где цвета Синий, Зелёный и Красный хранятся в 3 байтах, а 1 байт — альфа-канал. Изображение имеет ComponentColorModel с альфа-каналом. Данные цвета в этом изображении считаются предварительно умноженными на альфа-канал. Данные байтов перечислены в одном массиве байтов в порядке A, B, G, R снизу вверх в каждом пикселе.

См. также:
Значения константных полей

TYPE_USHORT_565_RGB

public static final int TYPE_USHORT_565_RGB

Представляет изображение с 5-6-5 цветовыми компонентами RGB (5 бит красный, 6 бит зелёный, 5 бит синий) без альфа-канала. Это изображение имеет DirectColorModel. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_USHORT_555_RGB

public static final int TYPE_USHORT_555_RGB

Представляет изображение с 5-5-5 цветовыми компонентами RGB (5 бит красный, 5 бит зелёный, 5 бит синий) без альфа-канала. Это изображение имеет DirectColorModel. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_BYTE_GRAY

public static final int TYPE_BYTE_GRAY

Представляет изображение в оттенках серого с одним байтом на пиксель, без индексации. Это изображение имеет ComponentColorModel с CS_GRAY ColorSpace. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_USHORT_GRAY

public static final int TYPE_USHORT_GRAY

Представляет изображение в оттенках серого с двумя байтами на пиксель, без индексации. Это изображение имеет ComponentColorModel с CS_GRAY ColorSpace. Когда данные с непрозрачным альфа-каналом хранятся в изображении этого типа, данные цвета должны быть приведены к форме без предварительного умножения на альфа-канал, а альфа-канал должен быть отброшен, как описано в документации AlphaComposite.

См. также:
Значения константных полей

TYPE_BYTE_BINARY

public static final int TYPE_BYTE_BINARY

Представляет изображение с 1, 2 или 4 битами на пиксель, упакованное в байты. Изображение имеет IndexColorModel без альфа-канала. Когда этот тип используется в качестве imageType аргумента конструктору BufferedImage, который принимает imageType аргумент, но не ColorModel аргумент, создаётся 1-битовое изображение с IndexColorModel с двумя цветами в стандартном цветовом пространстве sRGB: {0, 0, 0} и {255, 255, 255}.

Изображения с 2 или 4 битами на пиксель можно создать с помощью конструктора BufferedImage, который принимает ColorModel аргумент, передав ColorModel с соответствующим размером карты.

Для изображений с 8 битами на пиксель следует использовать типы изображений TYPE_BYTE_INDEXED или TYPE_BYTE_GRAY, в зависимости от их ColorModel.

При хранении данных цвета в изображении этого типа определяется ближайший цвет в палитре с помощью IndexColorModel, а полученный индекс сохраняется. В зависимости от цветов в палитре IndexColorModel могут возникать приближения и потеря альфа-канала или цветовых компонентов.

См. также:
Значения константных полей

TYPE_BYTE_INDEXED

public static final int TYPE_BYTE_INDEXED

Представляет индексированное байтовое изображение. Когда этот тип используется в качестве imageType аргумента конструктору BufferedImage, который принимает imageType аргумент, но не ColorModel аргумент, создаётся IndexColorModel с палитрой цветового куба 6/6/6 с 256 цветами, а остальные цвета с 216 по 255 заполняются значениями серого в стандартном цветовом пространстве sRGB.

При хранении данных цвета в изображении этого типа определяется ближайший цвет в палитре с помощью IndexColorModel, а полученный индекс сохраняется. В зависимости от цветов в палитре IndexColorModel могут возникать приближения и потеря альфа-канала или цветовых компонентов.

См. также:
Значения константных полей

Конструкторы

BufferedImage

public BufferedImage(int width,
                     int height,
                     int imageType)

Создаёт BufferedImage одного из предопределённых типов изображений. Пространство цветов изображения — по умолчанию sRGB.

Параметры:
width - ширина создаваемого изображения
height - высота создаваемого изображения
imageType - тип создаваемого изображения
См. также:
ColorSpace, TYPE_INT_RGB, TYPE_INT_ARGB, TYPE_INT_ARGB_PRE, TYPE_INT_BGR, TYPE_3BYTE_BGR, TYPE_4BYTE_ABGR, TYPE_4BYTE_ABGR_PRE, TYPE_BYTE_GRAY, TYPE_USHORT_GRAY, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED, TYPE_USHORT_565_RGB, TYPE_USHORT_555_RGB

BufferedImage

public BufferedImage(int width,
                     int height,
                     int imageType,
                     IndexColorModel cm)

Создаёт BufferedImage одного из предопределённых типов изображений: TYPE_BYTE_BINARY или TYPE_BYTE_INDEXED.

Если тип изображения — TYPE_BYTE_BINARY, количество элементов в цветовой модели используется для определения количества битов на пиксель (1, 2 или 4). Если в цветовой модели 1 или 2 элемента, то на пиксель будет 1 бит. Если 3 или 4 элемента — 2 бита. Если от 5 до 16 элементов — 4 бита. В противном случае будет выброшено исключение IllegalArgumentException.

Параметры:
width - ширина создаваемого изображения
height - высота создаваемого изображения
imageType - тип создаваемого изображения
cm - IndexColorModel создаваемого изображения
Исключения:
IllegalArgumentException - если imageType не TYPE_BYTE_BINARY или TYPE_BYTE_INDEXED, или если imageType — TYPE_BYTE_BINARY, а цветовая карта содержит более 16 элементов.
См. также:
TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED

BufferedImage

public BufferedImage(ColorModel cm,
                     WritableRaster raster,
                     boolean isRasterPremultiplied,
                     Hashtable<?,​?> properties)

Создаёт новый BufferedImage с указанной ColorModel и Raster. Если количество и типы каналов в SampleModel Raster не соответствуют количеству и типам, необходимым ColorModel для представления цветовых и альфа-компонентов, выбрасывается исключение RasterFormatException. Этот метод может умножать или делить данные цветовой Raster на альфа-канал для соответствия состоянию alphaPremultiplied в ColorModel. Свойства этого BufferedImage можно установить, передав Hashtable пар String/Object.

Параметры:
cm - ColorModel для нового изображения
raster - Raster для данных изображения
isRasterPremultiplied - если true, данные в растре предварительно умножены на альфа-канал.
properties - Hashtable пар String/Object.
Исключения:
RasterFormatException - если количество и типы каналов в SampleModel Raster не соответствуют количеству и типам, необходимым ColorModel для представления цветовых и альфа-компонентов.
IllegalArgumentException - если raster несовместимо с cm
См. также:
ColorModel, Raster, WritableRaster

Методы

getType

public int getType()

Возвращает тип изображения. Если тип не из известных, возвращается TYPE_CUSTOM.

Возвращает:
тип изображения данного BufferedImage.
См. также:
TYPE_INT_RGB, TYPE_INT_ARGB, TYPE_INT_ARGB_PRE, TYPE_INT_BGR, TYPE_3BYTE_BGR, TYPE_4BYTE_ABGR, TYPE_4BYTE_ABGR_PRE, TYPE_BYTE_GRAY, TYPE_BYTE_BINARY, TYPE_BYTE_INDEXED, TYPE_USHORT_GRAY, TYPE_USHORT_565_RGB, TYPE_USHORT_555_RGB, TYPE_CUSTOM

getColorModel

public ColorModel getColorModel()

Возвращает ColorModel.

Определено в:
getColorModel в интерфейсе RenderedImage
Возвращает:
ColorModel данного BufferedImage.

getRaster

public WritableRaster getRaster()

Возвращает WritableRaster.

Возвращает:
WritableRaster данного BufferedImage.

getAlphaRaster

public WritableRaster getAlphaRaster()

Возвращает WritableRaster, представляющий альфа-канал для BufferedImage объектов с ColorModel объектами, поддерживающими отдельный пространственный альфа-канал, такие как ComponentColorModel и DirectColorModel. Возвращает null если с ColorModel изображения не связан альфа-канал. Этот метод предполагает, что для всех ColorModel объектов, кроме IndexColorModel, если ColorModel поддерживает альфа-канал, существует отдельный альфа-канал, хранящийся как последний слой данных изображения. Если изображение использует IndexColorModel с альфой в таблице поиска, этот метод возвращает null, так как нет пространственно-дискретного альфа-канала. Этот метод создаёт новый WritableRaster, но использует общий массив данных.

Возвращает:
WritableRaster или null если у данного BufferedImage нет альфа-канала, связанного с его ColorModel.

getRGB

public int getRGB(int x,
                  int y)

Возвращает целочисленный пиксель в стандартной цветовой модели RGB (TYPE_INT_ARGB) и стандартном цветовом пространстве sRGB. Преобразование цвета происходит, если эта стандартная модель не соответствует ColorModel изображения. При использовании этого метода в возвращаемых данных есть только 8 бит точности для каждого цветового компонента.

Может быть выброшено исключение ArrayOutOfBoundsException, если координаты не находятся в пределах границ. Однако явных проверок границ не гарантируется.

Параметры:
x - координата X пикселя, для получения пикселя в стандартной цветовой модели RGB и стандартном цветовом пространстве sRGB
y - координата Y пикселя, для получения пикселя в стандартной цветовой модели RGB и стандартном цветовом пространстве sRGB
Возвращает:
целочисленный пиксель в стандартной цветовой модели RGB и стандартном цветовом пространстве sRGB.
См. также:
setRGB(int, int, int), setRGB(int, int, int, int, int[], int, int)

getRGB

public int[] getRGB(int startX,
                    int startY,
                    int w,
                    int h,
                    int[] rgbArray,
                    int offset,
                    int scansize)

Возвращает массив целочисленных пикселей в стандартной цветовой модели RGB (TYPE_INT_ARGB) и стандартном цветовом пространстве sRGB из части данных изображения. Преобразование цвета происходит, если стандартная модель не соответствует ColorModel изображения. При использовании этого метода в возвращаемых данных есть только 8 бит точности для каждого цветового компонента. С заданными координатами (x, y) в изображении, пиксель ARGB можно получить так:

pixel   = rgbArray[offset + (y-startY)*scansize + (x-startX)];

Может быть выброшено исключение ArrayOutOfBoundsException, если область не находится в пределах границ. Однако явных проверок границ не гарантируется.

Параметры:
startX - начальная координата X
startY - начальная координата Y
w - ширина области
h - высота области
rgbArray - если не null, rgb пиксели записываются сюда
offset - смещение в rgbArray
scansize - шаг строки для rgbArray
Возвращает:
массив RGB пикселей.
См. также:
setRGB(int, int, int), setRGB(int, int, int, int, int[], int, int)

setRGB

public void setRGB(int x,
                   int y,
                   int rgb)

Устанавливает пиксель в этом BufferedImage до заданного значения RGB. Предполагается, что пиксель находится в стандартной цветовой модели RGB, TYPE_INT_ARGB и стандартном цветовом пространстве sRGB. Для изображений с IndexColorModel, выбирается индекс с ближайшим цветом.

Может быть выброшено исключение ArrayOutOfBoundsException, если координаты не находятся в пределах границ. Однако явных проверок границ не гарантируется.

Параметры:
x - координата X пикселя для установки
y - координата Y пикселя для установки
rgb - значение RGB
См. также:
getRGB(int, int), getRGB(int, int, int, int, int[], int, int)

setRGB

public void setRGB(int startX,
                   int startY,
                   int w,
                   int h,
                   int[] rgbArray,
                   int offset,
                   int scansize)

Устанавливает массив целочисленных пикселей в стандартной цветовой модели RGB (TYPE_INT_ARGB) и стандартном цветовом пространстве sRGB в часть данных изображения. Преобразование цвета происходит, если стандартная модель не соответствует ColorModel изображения. При использовании этого метода в возвращаемых данных есть только 8 бит точности для каждого цветового компонента. С заданными координатами (x, y) в этом изображении пиксель ARGB можно получить так:

pixel   = rgbArray[offset + (y-startY)*scansize + (x-startX)];
ВНИМАНИЕ: Деинтерполяция не выполняется.

Может быть выброшено исключение ArrayOutOfBoundsException, если область не находится в пределах границ. Однако явных проверок границ не гарантируется.

Параметры:
startX - начальная координата X
startY - начальная координата Y
w - ширина области
h - высота области
rgbArray - rgb пиксели
offset - смещение в rgbArray
scansize - шаг строки для rgbArray
См. также:
getRGB(int, int), getRGB(int, int, int, int, int[], int, int)

getWidth

public int getWidth()

Возвращает ширину BufferedImage.

Определено в:
getWidth в интерфейсе RenderedImage
Возвращает:
ширину этого BufferedImage

getHeight

public int getHeight()

Возвращает высоту BufferedImage.

Определено в:
getHeight в интерфейсе RenderedImage
Возвращает:
высоту этого BufferedImage

getWidth

public int getWidth(ImageObserver observer)

Возвращает ширину BufferedImage.

Определено в:
getWidth в классе Image
Параметры:
observer - игнорируется
Возвращает:
ширину этого BufferedImage
См. также:
Image.getHeight(java.awt.image.ImageObserver), ImageObserver

getHeight

public int getHeight(ImageObserver observer)

Возвращает высоту BufferedImage.

Определено в:
getHeight в классе Image
Параметры:
observer - игнорируется
Возвращает:
высоту этого BufferedImage
См. также:
Image.getWidth(java.awt.image.ImageObserver), ImageObserver

getSource

public ImageProducer getSource()

Возвращает объект, генерирующий пиксели для изображения.

Определено в:
getSource в классе Image
Возвращает:
объект ImageProducer, используемый для генерации пикселей для этого изображения.
См. также:
ImageProducer

getProperty

public Object getProperty(String name,
                          ImageObserver observer)

Возвращает свойство изображения по имени. Отдельные имена свойств определяются различными форматами изображений. Если свойство не определено для конкретного изображения, этот метод возвращает поле UndefinedProperty. Если свойства этого изображения ещё не известны, метод возвращает null, а объект ImageObserver уведомляется позже. Имя свойства "comment" должно использоваться для хранения необязательного комментария, который может быть представлен пользователю как описание изображения, его источника или автора.

Определено в:
getProperty в классе Image
Параметры:
name - имя свойства
observer - объект ImageObserver, получающий уведомления об информации об изображении
Возвращает:
объект Object, являющийся свойством, на которое ссылается указанное name, или null, если свойства этого изображения ещё не известны.
Исключение:
NullPointerException - если имя свойства null.
См. также:
ImageObserver, Image.UndefinedProperty

getProperty

public Object getProperty(String name)

Возвращает свойство изображения по имени.

Указано:
getProperty в интерфейсе RenderedImage
Параметры:
name - имя свойства
Возвращает:
объект Object, представляющий свойство, на которое ссылается указанное name.
Выбрасывает:
NullPointerException - если имя свойства равно null.
См. также:
Image.UndefinedProperty

getGraphics

public Graphics getGraphics()

Этот метод возвращает Graphics2D, но используется для обеспечения обратной совместимости. createGraphics более удобен, так как он объявлен для возвращения Graphics2D.

Указано:
getGraphics в классе Image
Возвращает:
объект Graphics2D, который может быть использован для рисования на этом изображении.
См. также:
Graphics, Component.createImage(int, int)

createGraphics

public Graphics2D createGraphics()

Создает объект Graphics2D, который можно использовать для рисования на этом BufferedImage.

Возвращает:
объект Graphics2D, используемый для рисования на этом изображении.

getSubimage

public BufferedImage getSubimage(int x,
                                 int y,
                                 int w,
                                 int h)

Возвращает подизображение, определяемое заданной прямоугольной областью. Возвращаемое BufferedImage использует тот же массив данных, что и исходное изображение.

Параметры:
x - координата X левого верхнего угла заданной прямоугольной области
y - координата Y левого верхнего угла заданной прямоугольной области
w - ширина заданной прямоугольной области
h - высота заданной прямоугольной области
Возвращает:
объект BufferedImage, который является подизображением этого BufferedImage.
Выбрасывает:
RasterFormatException - если указанная область не находится внутри этого BufferedImage.

isAlphaPremultiplied

public boolean isAlphaPremultiplied()

Возвращает значение, указывающее, была ли альфа-компонента предварительно умножена. Возвращает false если альфа-компонента отсутствует.

Возвращает:
true если альфа-компонента предварительно умножена; false в противном случае.

coerceData

public void coerceData(boolean isAlphaPremultiplied)

Принудительно согласует данные с состоянием, указанным в переменной isAlphaPremultiplied. Может умножать или делить данные цветового растра на альфа-канал или ничего не делать, если данные находятся в нужном состоянии.

Параметры:
isAlphaPremultiplied - true если альфа-компонента предварительно умножена; false в противном случае.

toString

public String toString()

Возвращает строковое представление объекта BufferedImage и его значений.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта BufferedImage.

getSources

public Vector<RenderedImage> getSources()

Возвращает Vector объектов RenderedImage, которые являются непосредственными источниками данных изображения для этого BufferedImage. Метод возвращает null если у BufferedImage нет информации о его непосредственных источниках. Возвращает пустой Vector если у BufferedImage нет непосредственных источников.

Указано:
getSources в интерфейсе RenderedImage
Возвращает:
объект Vector содержащий непосредственные источники данных изображения объекта BufferedImage, или null если у этого BufferedImage нет информации о его непосредственных источниках, или пустой Vector если у этого BufferedImage нет непосредственных источников.

getPropertyNames

public String[] getPropertyNames()

Возвращает массив имен, распознаваемых методом getProperty(String) или null, если имена свойств не распознаются.

Указано:
getPropertyNames в интерфейсе RenderedImage
Возвращает:
массив String содержащий все имена свойств, распознаваемые getProperty(String); или null если имена свойств не распознаются.

getMinX

public int getMinX()

Возвращает минимальную координату x этого BufferedImage. Она всегда равна нулю.

Указано:
getMinX в интерфейсе RenderedImage
Возвращает:
минимальную координату x этого BufferedImage.

getMinY

public int getMinY()

Возвращает минимальную координату y этого BufferedImage. Она всегда равна нулю.

Указано:
getMinY в интерфейсе RenderedImage
Возвращает:
минимальную координату y этого BufferedImage.

getSampleModel

public SampleModel getSampleModel()

Возвращает SampleModel , связанное с этим BufferedImage.

Указано:
getSampleModel в интерфейсе RenderedImage
Возвращает:
объект SampleModel этого BufferedImage.

getNumXTiles

public int getNumXTiles()

Возвращает количество тайлов по оси x. Оно всегда равно единице.

Указано:
getNumXTiles в интерфейсе RenderedImage
Возвращает:
количество тайлов по оси x.

getNumYTiles

public int getNumYTiles()

Возвращает количество тайлов по оси y. Оно всегда равно единице.

Указано:
getNumYTiles в интерфейсе RenderedImage
Возвращает:
количество тайлов по оси y.

getMinTileX

public int getMinTileX()

Возвращает минимальный индекс тайла по оси x. Он всегда равен нулю.

Указано:
getMinTileX в интерфейсе RenderedImage
Возвращает:
минимальный индекс тайла по оси x.

getMinTileY

public int getMinTileY()

Возвращает минимальный индекс тайла по оси y. Он всегда равен нулю.

Указано:
getMinTileY в интерфейсе RenderedImage
Возвращает:
минимальный индекс тайла по оси y.

getTileWidth

public int getTileWidth()

Возвращает ширину тайла в пикселях.

Указано:
getTileWidth в интерфейсе RenderedImage
Возвращает:
ширину тайла в пикселях.

getTileHeight

public int getTileHeight()

Возвращает высоту тайла в пикселях.

Указано:
getTileHeight в интерфейсе RenderedImage
Возвращает:
высоту тайла в пикселях.

getTileGridXOffset

public int getTileGridXOffset()

Возвращает смещение тайловой сетки по оси x относительно начала координат. Например, координата x расположения тайла (0, 0). Оно всегда равно нулю.

Указано:
getTileGridXOffset в интерфейсе RenderedImage
Возвращает:
смещение тайловой сетки по оси x.

getTileGridYOffset

public int getTileGridYOffset()

Возвращает смещение тайловой сетки по оси y относительно начала координат. Например, координата y расположения тайла (0, 0). Оно всегда равно нулю.

Указано:
getTileGridYOffset в интерфейсе RenderedImage
Возвращает:
смещение тайловой сетки по оси y.

getTile

public Raster getTile(int tileX,
                      int tileY)

Возвращает тайл (tileX, tileY). Обратите внимание, что tileX и tileY — это индексы в массиве тайлов, а не координаты пикселей. Возвращаемое Raster является динамическим, что означает, что оно обновляется при изменении изображения.

Указано:
getTile в интерфейсе RenderedImage
Параметры:
tileX - индекс тайла по оси x в массиве тайлов
tileY - индекс тайла по оси y в массиве тайлов
Возвращает:
объект Raster , который является тайлом, определенным аргументами tileX и tileY.
Выбрасывает:
ArrayIndexOutOfBoundsException - если tileX и tileY не равны 0

getData

public Raster getData()

Возвращает изображение как один большой тайл. Возвращаемое Raster — это копия данных изображения, и оно не обновляется при изменении изображения.

Указано:
getData в интерфейсе RenderedImage
Возвращает:
объект Raster , который является копией данных изображения.
См. также:
setData(Raster)

getData

public Raster getData(Rectangle rect)

Вычисляет и возвращает произвольную область BufferedImage. Возвращаемое Raster — это копия данных изображения, и оно не обновляется при изменении изображения.

Указано:
getData в интерфейсе RenderedImage
Параметры:
rect - область BufferedImage для возврата.
Возвращает:
объект Raster , который является копией данных изображения указанной области BufferedImage
См. также:
setData(Raster)

copyData

public WritableRaster copyData(WritableRaster outRaster)

Вычисляет произвольную прямоугольную область BufferedImage и копирует её в указанный объект WritableRaster. Область для вычисления определяется границами указанного WritableRaster. Указанный WritableRaster должен иметь SampleModel , совместимый с этим изображением. Если outRaster — null, создается соответствующий WritableRaster.

Указано в:
copyData в интерфейсе RenderedImage
Параметры:
outRaster - объект WritableRaster для хранения возвращаемой части изображения или null
Возвращает:
ссылку на предоставленный или созданный объект WritableRaster.

setData

public void setData(Raster r)

Устанавливает прямоугольную область изображения содержимым указанного Raster r, который предполагается в той же системе координат, что и BufferedImage Операция обрезается до границ BufferedImage.

Указано в:
setData в интерфейсе WritableRenderedImage
Параметры:
r - указанный Raster
См. также:
getData(), getData(Rectangle)

addTileObserver

public void addTileObserver(TileObserver to)

Добавляет наблюдателя за тайлами. Если наблюдатель уже присутствует, он получает несколько уведомлений.

Указано в:
addTileObserver в интерфейсе WritableRenderedImage
Параметры:
to - указанный TileObserver

removeTileObserver

public void removeTileObserver(TileObserver to)

Удаляет наблюдателя за тайлами. Если наблюдатель не был зарегистрирован, ничего не происходит. Если наблюдатель был зарегистрирован для получения нескольких уведомлений, он теперь зарегистрирован для получения на одно уведомление меньше.

Указано в:
removeTileObserver в интерфейсе WritableRenderedImage
Параметры:
to - указанный TileObserver.

isTileWritable

public boolean isTileWritable(int tileX,
                              int tileY)

Возвращает значение, показывающее, выделен ли тайл для записи.

Указано в:
isTileWritable в интерфейсе WritableRenderedImage
Параметры:
tileX - индекс x тайла.
tileY - индекс y тайла.
Возвращает:
true , если тайл, указанный заданными индексами, выделен для записи; false в противном случае.
Исключения:
ArrayIndexOutOfBoundsException - если оба tileX и tileY не равны 0

getWritableTileIndices

public Point[] getWritableTileIndices()

Возвращает массив объектов Point, указывающий, какие тайлы выделены для записи. Возвращает null , если тайлы не выделены.

Указано в:
getWritableTileIndices в интерфейсе WritableRenderedImage
Возвращает:
массив Point , указывающий на тайлы, выделенные для записи, или null , если тайлы не выделены для записи.

hasTileWriters

public boolean hasTileWriters()

Возвращает значение, показывающее, выделен ли какой-либо тайл для записи. Семантически эквивалентно

(getWritableTileIndices() != null).

Указано в:
hasTileWriters в интерфейсе WritableRenderedImage
Возвращает:
true , если какой-либо тайл выделен для записи; false в противном случае.

getWritableTile

public WritableRaster getWritableTile(int tileX,
                                      int tileY)

Выделяет тайл для записи. Все зарегистрированные TileObservers получают уведомления, когда тайл переходит от отсутствия к наличию одного автора.

Указано в:
getWritableTile в интерфейсе WritableRenderedImage
Параметры:
tileX - индекс x тайла
tileY - индекс y тайла
Возвращает:
объект WritableRaster , который представляет собой тайл, указанный заданными индексами, который будет выделен для записи.

releaseWritableTile

public void releaseWritableTile(int tileX,
                                int tileY)

Освобождает разрешение на запись в тайл. Если вызывающая сторона продолжает писать в тайл, результаты будут неопределенными. Вызовы этого метода должны появляться только в соответствующих парах с вызовами getWritableTile(int, int). Любые другие вызовы приводят к неопределенным результатам. Все зарегистрированные TileObservers получают уведомления, когда тайл переходит от наличия одного автора к отсутствию.

Указано в:
releaseWritableTile в интерфейсе WritableRenderedImage
Параметры:
tileX - индекс x тайла
tileY - индекс y тайла

getTransparency

public int getTransparency()

Возвращает значение прозрачности. Возвращает либо OPAQUE, BITMASK, или TRANSLUCENT.

Указано в:
getTransparency в интерфейсе Transparency
Возвращает:
значение прозрачности этого BufferedImage.
С:
1.5
См. также:
Transparency.OPAQUE, Transparency.BITMASK, Transparency.TRANSLUCENT

© 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/BufferedImage.html

Spec-Zone .ru
спецификации, руководства, описания, API