Spec-Zone.ru › OpenJDK 21

Класс BufferedImage

java.lang.Object
java.awt.Image
java.awt.image.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 final int TYPE_3BYTE_BGR
Представляет изображение с 8-битными RGB цветовыми компонентами, соответствующее цветовой модели BGR в стиле Windows, где цвета Синий, Зелёный и Красный хранятся в 3 байтах.
static final int TYPE_4BYTE_ABGR
Представляет изображение с 8-битными RGBA цветовыми компонентами, где цвета Синий, Зелёный и Красный хранятся в 3 байтах, а 1 байт — альфа.
static final int TYPE_4BYTE_ABGR_PRE
Представляет изображение с 8-битными RGBA цветовыми компонентами, где цвета Синий, Зелёный и Красный хранятся в 3 байтах, а 1 байт — альфа.
static final int TYPE_BYTE_BINARY
Представляет непрозрачное байтовое изображение с 1, 2 или 4 битами.
static final int TYPE_BYTE_GRAY
Представляет монохромное изображение без индексации, с 8-битными беззнаковыми байтами.
static final int TYPE_BYTE_INDEXED
Представляет индексированное байтовое изображение.
static final int TYPE_CUSTOM
Тип изображения не распознан, поэтому это может быть настраиваемое изображение.
static final int TYPE_INT_ARGB
Представляет изображение с 8-битными RGBA цветовыми компонентами, упакованными в целые пиксели.
static final int TYPE_INT_ARGB_PRE
Представляет изображение с 8-битными RGBA цветовыми компонентами, упакованными в целые пиксели.
static final int TYPE_INT_BGR
Представляет изображение с 8-битными RGB цветовыми компонентами, соответствующее цветовой модели BGR в стиле Windows или Solaris, где цвета Синий, Зелёный и Красный упакованы в целые пиксели.
static final int TYPE_INT_RGB
Представляет изображение с 8-битными RGB цветовыми компонентами, упакованными в целые пиксели.
static final int TYPE_USHORT_555_RGB
Представляет изображение с 5-5-5 RGB цветовыми компонентами (5 бит красный, 5 бит зелёный, 5 бит синий) без альфа-канала.
static final int TYPE_USHORT_565_RGB
Представляет изображение с 5-6-5 RGB цветовыми компонентами (5 бит красный, 6 бит зелёный, 5 бит синий) без альфа-канала.
static final 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 ColorSpace: {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 кроме 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, если область не находится в пределах границ. Однако явная проверка границ не гарантируется.

Parameters:
startX - начальная координата X
startY - начальная координата Y
w - ширина области
h - высота области
rgbArray - если не null, rgb пиксели записываются сюда
offset - смещение в rgbArray
scansize - шаг сканирующей строки для rgbArray
Returns:
массив пикселей RGB.
See Also:
  • 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 если координаты не находятся в пределах границ. Однако явная проверка границ не гарантируется.

Parameters:
x - координата X устанавливаемого пикселя
y - координата Y устанавливаемого пикселя
rgb - значение RGB
See Also:
  • 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 если область не находится в пределах границ. Однако явная проверка границ не гарантируется.

Parameters:
startX - начальная координата X
startY - начальная координата Y
w - ширина области
h - высота области
rgbArray - rgb пиксели
offset - смещение в rgbArray
scansize - шаг сканирующей строки для rgbArray
See Also:
  • getRGB(int, int)
  • getRGB(int, int, int, int, int[], int, int)

getWidth

public int getWidth()
Возвращает ширину BufferedImage.
Specified by:
getWidth в интерфейсе RenderedImage
Returns:
ширина этого BufferedImage

getHeight

public int getHeight()
Возвращает высоту BufferedImage.
Specified by:
getHeight в интерфейсе RenderedImage
Returns:
высота этого BufferedImage

getWidth

public int getWidth(ImageObserver observer)
Возвращает ширину BufferedImage.
Specified by:
getWidth в классе Image
Parameters:
observer - игнорируется
Returns:
ширина этого BufferedImage
See Also:
  • Image.getHeight(java.awt.image.ImageObserver)
  • ImageObserver

getHeight

public int getHeight(ImageObserver observer)
Возвращает высоту BufferedImage.
Specified by:
getHeight в классе Image
Parameters:
observer - игнорируется
Returns:
высота этого BufferedImage
See Also:
  • Image.getWidth(java.awt.image.ImageObserver)
  • ImageObserver

getSource

public ImageProducer getSource()
Возвращает объект, который генерирует пиксели для изображения.
Specified by:
getSource в классе Image
Returns:
объект ImageProducer, используемый для генерации пикселей для этого изображения.
See Also:
  • ImageProducer

getProperty

public Object getProperty(String name, ImageObserver observer)
Возвращает свойство изображения по имени. Отдельные имена свойств определяются различными форматами изображений. Если свойство не определено для конкретного изображения, этот метод возвращает поле UndefinedProperty. Если свойства этого изображения еще неизвестны, этот метод возвращает null, а объект ImageObserver получает уведомление позже. Имя свойства «comment» должно использоваться для хранения необязательного комментария, который может быть представлен пользователю в качестве описания изображения, его источника или автора.
Specified by:
getProperty в классе Image
Parameters:
name - имя свойства
observer - объект ImageObserver, который получает уведомления об информации об изображении
Returns:
объект Object, представляющий собой свойство, на которое ссылается указанное name, или null, если свойства этого изображения еще неизвестны.
Throws:
NullPointerException - если имя свойства равно null.
See Also:
  • ImageObserver
  • Image.UndefinedProperty

getProperty

public Object getProperty(String name)
Возвращает свойство изображения по имени.
Specified by:
getProperty в интерфейсе RenderedImage
Parameters:
name - имя свойства
Returns:
объект Object, представляющий собой свойство, на которое ссылается указанное name.
Throws:
NullPointerException - если имя свойства равно null.
See Also:
  • Image.UndefinedProperty

getGraphics

public Graphics getGraphics()
Этот метод возвращает Graphics2D, но здесь он для обратной совместимости. createGraphics более удобен, поскольку он объявлен для возврата Graphics2D.
Specified by:
getGraphics в классе Image
Returns:
объект Graphics2D, который можно использовать для рисования в этом изображении.
See Also:
  • Graphics
  • Component.createImage(int, int)

createGraphics

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

getSubimage

public BufferedImage getSubimage(int x, int y, int w, int h)
Возвращает подизображение, определяемое указанной прямоугольной областью. Возвращаемое подизображение разделяет тот же массив данных, что и исходное изображение.
Parameters:
x - координата X левого верхнего угла указанной прямоугольной области
y - координата Y левого верхнего угла указанной прямоугольной области
w - ширина указанной прямоугольной области
h - высота указанной прямоугольной области
Returns:
подизображение этого BufferedImage.
Throws:
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 - это индексы в массиве тайлов, а не координаты пикселей. Возвращаемый тайл является динамичным, т.е. он обновляется при изменении изображения.
Определено в:
getTile в интерфейсе RenderedImage
Параметры:
tileX - индекс x запрашиваемого тайла в массиве тайлов
tileY - индекс y запрашиваемого тайла в массиве тайлов
Возвращает:
объект Raster, являющийся тайлом, определяемым аргументами tileX и tileY.
Исключения:
ArrayIndexOutOfBoundsException - если как tileX, так и tileY не равны 0

getData

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

getData

public Raster getData(Rectangle rect)
Вычисляет и возвращает произвольную область BufferedImage. Возвращаемые данные изображения являются копией и не обновляются при изменении изображения.
Определено в:
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.
Specified by:
setData in interface WritableRenderedImage
Parameters:
r - указанный Raster
See Also:
  • getData()
  • getData(Rectangle)

addTileObserver

public void addTileObserver(TileObserver to)
Добавляет наблюдателя за плитками. Если наблюдатель уже присутствует, он получает несколько уведомлений.

Этот метод игнорирует свои параметры и ничего не делает, так как BufferedImage всегда проверяется на запись и не может быть сделано только для чтения, поэтому событий для отправки никогда не бывает.

Specified by:
addTileObserver in interface WritableRenderedImage
Parameters:
to - указанный TileObserver

removeTileObserver

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

Этот метод игнорирует заданного наблюдателя, так как addTileObserver(TileObserver) не добавляет никаких.

Specified by:
removeTileObserver in interface WritableRenderedImage
Parameters:
to - указанный TileObserver.

isTileWritable

public boolean isTileWritable(int tileX, int tileY)
Возвращает значение true, если плитка в данный момент проверена на запись. Единственная плитка в BufferedImage находится в (0,0) и всегда доступна для записи, поэтому вызов этого метода с (0,0) всегда вернёт true, а любая другая координата приведёт к выбрасыванию исключения.
Specified by:
isTileWritable in interface WritableRenderedImage
Parameters:
tileX - индекс x плитки.
tileY - индекс y плитки.
Returns:
true если плитка, указанная указанными индексами, проверена на запись; false в противном случае.
Throws:
IllegalArgumentException - если либо tileX или tileY не равно 0

getWritableTileIndices

public Point[] getWritableTileIndices()
Возвращает массив объектов Point, указывающих, какие плитки проверены на запись. Возвращает null если такие нет.

Поскольку BufferedImage состоит из одной плитки, и эта плитка всегда проверена на запись, этот метод возвращает массив из одной точки. Кроме того, смещение должно соответствовать getMinTileX() и getMinTileY(), которые всегда (0,0) в BufferedImage. Это всегда координаты единственной возвращаемой Point.

Specified by:
getWritableTileIndices in interface WritableRenderedImage
Returns:
массив Point , указывающий на плитки, проверенные на запись, или null , если плитки не проверены на запись.

hasTileWriters

public boolean hasTileWriters()
Возвращает значение true, если хотя бы одна плитка проверена на запись. Семантически эквивалентно
 (getWritableTileIndices() != null).
 
Specified by:
hasTileWriters in interface WritableRenderedImage
Returns:
true если любая плитка проверена на запись; false в противном случае.

getWritableTile

public WritableRaster getWritableTile(int tileX, int tileY)
Проверяет плитку на запись. Все зарегистрированные TileObservers уведомляются, когда плитка переходит от отсутствия писателей к наличию одного писателя.

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

Specified by:
getWritableTile in interface WritableRenderedImage
Parameters:
tileX - индекс x плитки
tileY - индекс y плитки
Returns:
a WritableRaster , являющийся плиткой, указанной указанными индексами, для проверки на запись.

releaseWritableTile

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

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

Specified by:
releaseWritableTile in interface WritableRenderedImage
Parameters:
tileX - индекс x плитки
tileY - индекс y плитки

getTransparency

public int getTransparency()
Возвращает значение прозрачности. Возвращает либо OPAQUE, BITMASK, или TRANSLUCENT.
Specified by:
getTransparency in interface Transparency
Returns:
значение прозрачности данного BufferedImage.
Since:
1.5
See Also:
  • Transparency.OPAQUE
  • Transparency.BITMASK
  • Transparency.TRANSLUCENT

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/image/BufferedImage.html

Spec-Zone.ru

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