Spec-Zone.ru › OpenJDK 25

Класс 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
Представляет неиндексированное полутоновое изображение беззнаковых байтов.
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
Представляет неиндексированное полутоновое изображение беззнаковых коротких целых чисел (unsigned short).

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

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

Поля, объявленные в интерфейсе 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 и его значений.

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

flush, getAccelerationPriority, getCapabilities, getScaledInstance, setAccelerationPriority

Методы, объявленные в классе 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, созданное изображение совместимо с изображениями, созданными в JDK1.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
Представляет неиндексированное изображение в градациях серого типа unsigned byte. Это изображение имеет ComponentColorModel с цветовым пространством CS_GRAY ColorSpace. Когда данные с непрозрачным альфа-каналом сохраняются в изображении этого типа, данные цвета должны быть приведены к непредумноженной форме, а альфа-канал отброшен, как описано в документации к AlphaComposite.
См. также:
  • Постоянные значения полей

TYPE_USHORT_GRAY

public static final int TYPE_USHORT_GRAY
Представляет неиндексированное изображение в градациях серого типа unsigned short. Это изображение имеет 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 заполнены оттенками серого в стандартном ColorSpace sRGB.

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

См. также:
  • Постоянные значения полей

Подробное описание конструкторов

BufferedImage

public BufferedImage(int width, int height, int imageType)
Создает объект BufferedImage одного из предопределенных типов изображений. Цветовым пространством (ColorSpace) для изображения является стандартное пространство 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 бит для каждого цветового компонента.

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

Параметры:
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)]; 

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

Параметры:
startX - начальная координата X
startY - начальная координата Y
w - ширина области
h - высота области
rgbArray - если не null, сюда записываются пиксели RGB
offset - смещение в rgbArray
scansize - шаг строки сканирования (scanline stride) для 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 выбирается индекс с ближайшим цветом.

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

Параметры:
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)];
ВНИМАНИЕ: дизеринг не применяется.

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

Параметры:
startX - начальная координата X
startY - начальная координата Y
w - ширина области
h - высота области
rgbArray - пиксели RGB
offset - смещение в rgbArray
scansize - шаг строки сканирования (scanline stride) для 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(ImageObserver)
  • ImageObserver

getHeight

public int getHeight(ImageObserver observer)
Возвращает высоту BufferedImage.
Определено в:
getHeight в классе Image
Параметры:
observer - игнорируется
Возвращает:
высоту этого объекта BufferedImage
См. также:
  • Image.getWidth(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()
Возвращает строковое представление (String) этого объекта BufferedImage и его значений.
Переопределяет:
toString в классе Object
Возвращает:
String, представляющий этот 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)
Добавляет наблюдателя за тайлами. Если наблюдатель уже присутствует, он получает несколько уведомлений.

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

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

removeTileObserver

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

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

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

isTileWritable

public boolean isTileWritable(int tileX, int tileY)
Возвращает, открыт ли в данный момент тайл для записи. Единственный тайл в BufferedImage находится в позиции (0,0) и всегда доступен для записи, поэтому вызов этого метода с параметрами (0,0) всегда вернет true, а любые другие координаты приведут к генерации исключения.
Задано:
isTileWritable в интерфейсе WritableRenderedImage
Параметры:
tileX - индекс тайла по оси X.
tileY - индекс тайла по оси Y.
Возвращает:
true, если тайл, заданный указанными индексами, открыт для записи; иначе false.
Исключения:
IllegalArgumentException - если либо tileX, либо tileY не равен 0

getWritableTileIndices

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

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

Задано:
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

Сообщить об ошибке или предложить улучшение
Для получения дополнительной справочной информации по API и документации для разработчиков см. документацию по Java SE, которая содержит более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные пути и примеры рабочего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком компании Oracle и/или ее аффилированных лиц в США и других странах.
Copyright © 1993, 2025, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой перераспространения документации.

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

Spec-Zone.ru

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