Spec-Zone.ru › OpenJDK 8

Класс 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 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

Представляет изображение в оттенках серого с байтовым представлением без индексации.

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(ColorModel cm, WritableRaster raster, boolean isRasterPremultiplied, Hashtable<?,?> properties)

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

BufferedImage(int width, int height, int imageType)

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

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

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

Методы

Модификатор и тип Метод и описание
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

Представляет изображение градаций серого с 16-битными значениями, не индексированное. Это изображение имеет 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 с палитрой цветового куба 256 цветов 6/6/6, а остальные цвета с 216 по 255 заполняются значениями серого в стандартном цветовом пространстве 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.

Возвращает:
WriteableRaster данного 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 бит.

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

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

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

Параметры:
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, выбирается индекс с ближайшим цветом.

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

Параметры:
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)];
ПРЕДУПРЕЖДЕНИЕ: Размытия не происходит.

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

Параметры:
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
Возвращает:
вектор, содержащий непосредственные источники данных изображения объекта 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.

Spec-Zone.ru

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