Класс Graphics
- Прямые известные подклассы:
DebugGraphics, Graphics2D
public abstract class Graphics extends Object
Graphics является абстрактным базовым классом для всех графических контекстов, которые позволяют приложению рисовать на компонентах, отображаемых на различных устройствах, а также на изображениях вне экрана. Объект Graphics инкапсулирует информацию о состоянии, необходимую для основных операций визуализации, поддерживаемых Java. Эта информация о состоянии включает следующие свойства:
- Объект
Component, на котором выполняется рисование. - Начало координат для преобразования и координат отсечения.
- Текущая область отсечения.
- Текущий цвет.
- Текущий шрифт.
- Текущая функция логической операции над пикселями (XOR или Paint).
- Текущий цвет чередования XOR (см.
setXORMode(Color)).
Координаты бесконечно тонкие и располагаются между пикселями устройства вывода. Операции, рисующие контур фигуры, выполняются путём прохождения бесконечно тонкого пути между пикселями пером размером в один пиксель, которое свисает вниз и вправо от опорной точки на пути. Операции, заполняющие фигуру, заполняют внутреннюю область этого бесконечно тонкого пути. При горизонтальной отрисовке текста восходящие части глифов символов располагаются целиком выше координаты базовой линии.
Графическое перо свисает вниз и вправо от проходимого им пути. Это имеет следующие последствия:
- Если вы рисуете фигуру, покрывающую заданный прямоугольник, эта фигура занимает на одну строку пикселей больше по правому и нижнему краям, чем при заполнении фигуры, ограниченной тем же прямоугольником.
- Если вы рисуете горизонтальную линию на той же координате y, что и базовая линия строки текста, линия проходит целиком под текстом, за исключением нижних выносных элементов.
Все координаты, передаваемые в качестве аргументов методам этого объекта Graphics, перед вызовом метода считаются относительными к началу координат этого объекта Graphics.
Все операции визуализации изменяют только пиксели, расположенные внутри области, ограниченной текущей областью отсечения. Она задаётся объектом Shape в пользовательском пространстве и контролируется программой с помощью объекта Graphics. Эта пользовательская область отсечения преобразуется в пространство устройства и объединяется с областью отсечения устройства, определяемой видимостью окон и границами устройства. Объединение пользовательской области отсечения и области отсечения устройства задаёт составную область отсечения, которая определяет итоговую область отсечения. Система визуализации не может изменить пользовательскую область отсечения, чтобы отразить полученную составную область отсечения. Пользовательскую область отсечения можно изменить только с помощью методов setClip или clipRect. Все рисование и вывод текста выполняются текущим цветом, в текущем режиме рисования и текущим шрифтом.
- С версии:
- 1.0
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт новый объект Graphics. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract void |
clearRect |
Очищает указанный прямоугольник, заполняя его цветом фона текущей поверхности рисования. |
abstract void |
clipRect |
Пересекает текущую область отсечения с указанным прямоугольником. |
abstract void |
copyArea |
Копирует область компонента на расстояние, заданное параметрами dx и dy. |
abstract Graphics |
create() |
Создаёт новый объект Graphics, являющийся копией этого объекта Graphics. |
Graphics |
create |
Создаёт новый объект Graphics на основе этого объекта Graphics, но с новым смещением и областью отсечения. |
abstract void |
dispose() |
Освобождает этот графический контекст и все используемые им системные ресурсы. |
void |
draw3DRect |
Рисует рельефный контур указанного прямоугольника. |
abstract void |
drawArc |
Рисует контур круговой или эллиптической дуги, вписанной в указанный прямоугольник. |
void |
drawBytes |
Рисует текст, заданный указанным массивом байтов, используя текущие шрифт и цвет этого графического контекста. |
void |
drawChars |
Рисует текст, заданный указанным массивом символов, используя текущие шрифт и цвет этого графического контекста. |
abstract boolean |
drawImage |
Рисует доступную на данный момент часть указанной области изображения, масштабируя её на лету для размещения в указанной области целевой поверхности рисования. |
abstract boolean |
drawImage |
Рисует доступную на данный момент часть указанной области изображения, масштабируя её на лету для размещения в указанной области целевой поверхности рисования. |
abstract boolean |
drawImage |
Рисует доступную часть указанного изображения, уже масштабированного для размещения в указанном прямоугольнике. |
abstract boolean |
drawImage |
Рисует доступную часть указанного изображения, уже масштабированного для размещения в указанном прямоугольнике. |
abstract boolean |
drawImage |
Рисует доступную на данный момент часть указанного изображения. |
abstract boolean |
drawImage |
Рисует доступную на данный момент часть указанного изображения. |
abstract void |
drawLine |
Рисует линию текущим цветом между точками (x1, y1) и (x2, y2) в системе координат этого графического контекста. |
abstract void |
drawOval |
Рисует контур овала. |
abstract void |
drawPolygon |
Рисует замкнутый многоугольник, заданный массивами координат x и y. |
void |
drawPolygon |
Рисует контур многоугольника, заданного указанным объектом Polygon. |
abstract void |
drawPolyline |
Рисует последовательность соединённых линий, заданную массивами координат x и y. |
void |
drawRect |
Рисует контур указанного прямоугольника. |
abstract void |
drawRoundRect |
Рисует контур скруглённого прямоугольника текущим цветом этого графического контекста. |
abstract void |
drawString |
Рисует текст, заданный указанной строкой, используя текущие шрифт и цвет этого графического контекста. |
abstract void |
drawString |
Отображает текст указанного итератора, применяя его атрибуты в соответствии со спецификацией класса TextAttribute. |
void |
fill3DRect |
Рисует рельефный прямоугольник, заполненный текущим цветом. |
abstract void |
fillArc |
Заполняет круговую или эллиптическую дугу, вписанную в указанный прямоугольник. |
abstract void |
fillOval |
Заполняет овал, ограниченный указанным прямоугольником, текущим цветом. |
abstract void |
fillPolygon |
Заполняет замкнутый многоугольник, заданный массивами координат x и y. |
void |
fillPolygon |
Заполняет многоугольник, заданный указанным объектом Polygon, текущим цветом графического контекста. |
abstract void |
fillRect |
Заполняет указанный прямоугольник. |
abstract void |
fillRoundRect |
Заполняет указанный прямоугольник со скруглёнными углами текущим цветом. |
void |
finalize() |
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии. Метод финализации признан устаревшим и подлежит удалению. |
abstract Shape |
getClip() |
Возвращает текущую область отсечения. |
abstract Rectangle |
getClipBounds() |
Возвращает ограничивающий прямоугольник текущей области отсечения. |
Rectangle |
getClipBounds |
Возвращает ограничивающий прямоугольник текущей области отсечения. |
Rectangle |
getClipRect() |
Устарело. Начиная с JDK версии 1.1 заменено на getClipBounds(). |
abstract Color |
getColor() |
Возвращает текущий цвет этого графического контекста. |
abstract Font |
getFont() |
Возвращает текущий шрифт. |
FontMetrics |
getFontMetrics() |
Возвращает метрики текущего шрифта. |
abstract FontMetrics |
getFontMetrics |
Возвращает метрики указанного шрифта. |
boolean |
hitClip |
Возвращает true, если указанная прямоугольная область может пересекаться с текущей областью отсечения. |
abstract void |
setClip |
Задаёт текущую область отсечения прямоугольником, определённым указанными координатами. |
abstract void |
setClip |
Задаёт текущую область отсечения произвольной формой. |
abstract void |
setColor |
Задаёт указанный цвет как текущий цвет этого графического контекста. |
abstract void |
setFont |
Задаёт указанный шрифт как шрифт этого графического контекста. |
abstract void |
setPaintMode() |
Задаёт для этого графического контекста режим рисования, при котором целевая область перезаписывается текущим цветом графического контекста. |
abstract void |
setXORMode |
Задаёт для этого графического контекста режим рисования, при котором чередуются текущий цвет графического контекста и новый указанный цвет. |
String |
toString() |
Возвращает объект String, представляющий значение этого объекта Graphics. |
abstract void |
translate |
Перемещает начало координат графического контекста в точку (x, y) в текущей системе координат. |
Подробное описание конструкторов
Graphics
protected Graphics()
Graphics. Этот конструктор является конструктором по умолчанию для графического контекста. Поскольку Graphics является абстрактным классом, приложения не могут напрямую вызывать этот конструктор. Графические контексты получают из других графических контекстов или создают, вызывая getGraphics для компонента.
- См. также:
Подробное описание методов
create
public abstract Graphics create()
Graphics, являющийся копией этого объекта Graphics.- Возвращает:
- новый графический контекст, являющийся копией этого графического контекста.
create
public Graphics create(int x, int y, int width, int height)
Graphics на основе этого объекта Graphics, но с новым смещением и областью отсечения. Начало координат нового объекта Graphics смещено в указанную точку (x, y). Его область отсечения определяется пересечением исходной области отсечения с указанным прямоугольником. Все аргументы интерпретируются в системе координат исходного объекта Graphics. Новый графический контекст идентичен исходному, за исключением двух особенностей: - Новый графический контекст смещен на (x, y). Иными словами, точка (
0,0) в новом графическом контексте совпадает с точкой (x, y) в исходном графическом контексте. - У нового графического контекста есть дополнительный прямоугольник отсечения в дополнение к (смещенному) прямоугольнику отсечения, унаследованному от исходного графического контекста. Начало координат нового прямоугольника отсечения находится в точке (
0,0), а его размеры задаются аргументамиwidthиheight.
- Параметры:
-
x— координата x. -
y— координата y. -
width— ширина прямоугольника отсечения. -
height— высота прямоугольника отсечения. - Возвращает:
- новый графический контекст.
- См. также:
translate
public abstract void translate(int x, int y)
- Параметры:
-
x— координата x. -
y— координата y.
getColor
public abstract Color getColor()
- Возвращает:
- текущий цвет этого графического контекста.
- См. также:
setColor
public abstract void setColor(Color c)
- Параметры:
-
c— новый цвет отрисовки. - См. также:
setPaintMode
public abstract void setPaintMode()
setXORMode
public abstract void setXORMode(Color c1)
При выполнении операций рисования пиксели текущего цвета меняются на указанный цвет и наоборот.
Пиксели, имеющие цвета, отличные от этих двух, изменяются непредсказуемым, но обратимым образом; если одну и ту же фигуру нарисовать дважды, все пиксели восстановят исходные значения.
- Параметры:
-
c1— цвет переключения XOR
getFont
public abstract Font getFont()
- Возвращает:
- текущий шрифт этого графического контекста.
- См. также:
setFont
public abstract void setFont(Font font)
- Параметры:
-
font— шрифт. - См. также:
getFontMetrics
public FontMetrics getFontMetrics()
- Возвращает:
- метрики текущего шрифта этого графического контекста.
- См. также:
getFontMetrics
public abstract FontMetrics getFontMetrics(Font f)
- Параметры:
-
f— указанный шрифт - Возвращает:
- метрики указанного шрифта.
- См. также:
getClipBounds
public abstract Rectangle getClipBounds()
setClip(null), этот метод возвращает null. Координаты прямоугольника задаются относительно начала системы координат этого графического контекста.- Возвращает:
- ограничивающий прямоугольник текущей области отсечения или
null, если область отсечения не задана. - С версии:
- 1.1
- См. также:
clipRect
public abstract void clipRect(int x, int y, int width, int height)
setClip(null), указанная область становится новой областью отсечения. Этот метод задает пользовательскую область отсечения, которая не зависит от отсечения по границам устройства и видимости окна. Этот метод позволяет только уменьшить текущую область отсечения. Чтобы увеличить текущую область отсечения, используйте любой из методов setClip. Операции отрисовки не влияют на область за пределами области отсечения.- Параметры:
-
x— координата x прямоугольника, пересекаемого с областью отсечения -
y— координата y прямоугольника, пересекаемого с областью отсечения -
width— ширина прямоугольника, пересекаемого с областью отсечения -
height— высота прямоугольника, пересекаемого с областью отсечения - См. также:
setClip
public abstract void setClip(int x, int y, int width, int height)
- Параметры:
-
x— координата x нового прямоугольника отсечения. -
y— координата y нового прямоугольника отсечения. -
width— ширина нового прямоугольника отсечения. -
height— высота нового прямоугольника отсечения. - С версии:
- 1.1
- См. также:
getClip
public abstract Shape getClip()
setClip(null), этот метод возвращает null.- Возвращает:
- объект
Shape, представляющий текущую область отсечения, илиnull, если область отсечения не задана. - С версии:
- 1.1
- См. также:
setClip
public abstract void setClip(Shape clip)
Shape, можно использовать для задания области отсечения. Поддерживаются только объекты Shape, которые гарантированно поддерживаются: объекты Shape, полученные с помощью метода getClip, и объекты Rectangle. Этот метод задает пользовательскую область отсечения, которая не зависит от отсечения по границам устройства и видимости окна.- Параметры:
-
clip— объектShape, используемый для задания области отсечения. Передачаnullочищает текущую областьclip. - С версии:
- 1.1
- См. также:
copyArea
public abstract void copyArea(int x, int y, int width, int height, int dx, int dy)
dx и dy. Начиная с точки, заданной параметрами x и y, этот метод копирует область вниз и вправо. Чтобы скопировать область компонента влево или вверх, укажите отрицательное значение для dx или dy. Если часть исходного прямоугольника находится за пределами компонента или перекрыта другим окном или компонентом, copyArea не сможет скопировать соответствующие пиксели. Пропущенную область можно обновить, вызвав метод paint компонента.- Параметры:
-
x— координата x исходного прямоугольника. -
y— координата y исходного прямоугольника. -
width— ширина исходного прямоугольника. -
height— высота исходного прямоугольника. -
dx— горизонтальное расстояние копирования пикселей. -
dy— вертикальное расстояние копирования пикселей.
drawLine
public abstract void drawLine(int x1, int y1, int x2, int y2)
(x1, y1) и (x2, y2) в системе координат данного графического контекста.- Параметры:
-
x1— координата x первой точки. -
y1— координата y первой точки. -
x2— координата x второй точки. -
y2— координата y второй точки.
fillRect
public abstract void fillRect(int x, int y, int width, int height)
x и x + width - 1. Верхняя и нижняя границы находятся в точках y и y + height - 1. Полученный прямоугольник занимает область шириной width пикселей и высотой height пикселей. Прямоугольник заливается текущим цветом графического контекста.- Параметры:
-
x— координата x заливаемого прямоугольника. -
y— координата y заливаемого прямоугольника. -
width— ширина заливаемого прямоугольника. -
height— высота заливаемого прямоугольника. - См. также:
drawRect
public void drawRect(int x, int y, int width, int height)
x и x + width. Верхняя и нижняя границы находятся в точках y и y + height. Прямоугольник рисуется текущим цветом графического контекста.- Параметры:
-
x— координата x рисуемого прямоугольника. -
y— координата y рисуемого прямоугольника. -
width— ширина рисуемого прямоугольника. -
height— высота рисуемого прямоугольника. - См. также:
clearRect
public abstract void clearRect(int x, int y, int width, int height)
Начиная с Java 1.1, цвет фона внеэкранных изображений может зависеть от системы. Чтобы гарантировать очистку внеэкранного изображения до определенного цвета, приложениям следует использовать setColor, а затем fillRect.
- Параметры:
-
x— координата x очищаемого прямоугольника. -
y— координата y очищаемого прямоугольника. -
width— ширина очищаемого прямоугольника. -
height— высота очищаемого прямоугольника. - См. также:
drawRoundRect
public abstract void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
x и x + width. Верхняя и нижняя границы прямоугольника находятся в точках y и y + height.- Параметры:
-
x— координата x рисуемого прямоугольника. -
y— координата y рисуемого прямоугольника. -
width— ширина рисуемого прямоугольника. -
height— высота рисуемого прямоугольника. -
arcWidth— горизонтальный диаметр дуги в каждом из четырех углов. -
arcHeight— вертикальный диаметр дуги в каждом из четырех углов. - См. также:
fillRoundRect
public abstract void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
x и x + width - 1. Верхняя и нижняя границы прямоугольника находятся в точках y и y + height - 1.- Параметры:
-
x— координата x заливаемого прямоугольника. -
y— координата y заливаемого прямоугольника. -
width— ширина заливаемого прямоугольника. -
height— высота заливаемого прямоугольника. -
arcWidth— горизонтальный диаметр дуги в каждом из четырех углов. -
arcHeight— вертикальный диаметр дуги в каждом из четырех углов. - См. также:
draw3DRect
public void draw3DRect(int x, int y, int width, int height, boolean raised)
Цвета для эффекта выделения определяются на основе текущего цвета. Полученный прямоугольник занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.
- Параметры:
-
x— координата x рисуемого прямоугольника. -
y— координата y рисуемого прямоугольника. -
width— ширина рисуемого прямоугольника. -
height— высота рисуемого прямоугольника. -
raised— логическое значение, определяющее, выглядит ли прямоугольник приподнятым над поверхностью или утопленным в нее. - См. также:
fill3DRect
public void fill3DRect(int x, int y, int width, int height, boolean raised)
- Параметры:
-
x— координата x заливаемого прямоугольника. -
y— координата y заливаемого прямоугольника. -
width— ширина заливаемого прямоугольника. -
height— высота заливаемого прямоугольника. -
raised— логическое значение, определяющее, выглядит ли прямоугольник приподнятым над поверхностью или вытравленным на ней. - См. также:
drawOval
public abstract void drawOval(int x, int y, int width, int height)
x, y, width и height. Овал занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.
- Параметры:
-
x— координата x верхнего левого угла рисуемого овала. -
y— координата y верхнего левого угла рисуемого овала. -
width— ширина рисуемого овала. -
height— высота рисуемого овала. - См. также:
fillOval
public abstract void fillOval(int x, int y, int width, int height)
- Параметры:
-
x— координата x верхнего левого угла заливаемого овала. -
y— координата y верхнего левого угла заливаемого овала. -
width— ширина заливаемого овала. -
height— высота заливаемого овала. - См. также:
drawArc
public abstract void drawArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Полученная дуга начинается с угла startAngle и простирается на arcAngle градусов, используя текущий цвет. Углы отсчитываются так, что 0 градусов соответствует положению «три часа». Положительное значение указывает на вращение против часовой стрелки, а отрицательное — на вращение по часовой стрелке.
Центр дуги совпадает с центром прямоугольника, начало которого находится в точке (x, y), а размер задан аргументами width и height.
Полученная дуга занимает область шириной width + 1 пикселей и высотой height + 1 пикселей.
Углы задаются относительно сторон ограничивающего прямоугольника, которые могут иметь разную длину; таким образом, угол 45 градусов всегда лежит на линии, соединяющей центр эллипса с верхним правым углом ограничивающего прямоугольника. Поэтому, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси прямоугольника.
- Параметры:
-
x— координата x верхнего левого угла рисуемой дуги. -
y— координата y верхнего левого угла рисуемой дуги. -
width— ширина рисуемой дуги. -
height— высота рисуемой дуги. -
startAngle— начальный угол. -
arcAngle— угловая протяженность дуги относительно начального угла. - См. также:
fillArc
public abstract void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle)
Полученная дуга начинается в точке startAngle и продолжается на arcAngle градусов. Углы интерпретируются таким образом, что 0 градусов соответствует положению «3 часа». Положительное значение указывает на вращение против часовой стрелки, а отрицательное — на вращение по часовой стрелке.
Центр дуги совпадает с центром прямоугольника, начало которого находится в точке (x, y), а размер задается аргументами width и height.
Полученная дуга охватывает область шириной width + 1 пикселей и высотой height + 1 пикселей.
Углы задаются относительно непропорциональных размеров ограничивающего прямоугольника, поэтому угол 45 градусов всегда приходится на линию, соединяющую центр эллипса с верхним правым углом ограничивающего прямоугольника. В результате, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут сильнее смещены вдоль более длинной оси прямоугольника.
- Параметры:
-
x— координата x верхнего левого угла заполняемой дуги. -
y— координата y верхнего левого угла заполняемой дуги. -
width— ширина заполняемой дуги. -
height— высота заполняемой дуги. -
startAngle— начальный угол. -
arcAngle— угловая протяженность дуги относительно начального угла. - См. также:
drawPolyline
public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
- Параметры:
-
xPoints— массив координат x точек -
yPoints— массив координат y точек -
nPoints— общее количество точек - Начиная с версии:
- 1.1
- См. также:
drawPolygon
public abstract void drawPolygon(int[] xPoints, int[] yPoints, int nPoints)
Этот метод рисует многоугольник, заданный nPoint отрезками, причем первые nPoint - 1 отрезков соединяют (xPoints[i - 1], yPoints[i - 1]) и (xPoints[i], yPoints[i]) при 1 ≤ i ≤ nPoints. Фигура автоматически замыкается линией, соединяющей последнюю точку с первой, если эти точки различаются.
- Параметры:
-
xPoints— массив координатx. -
yPoints— массив координатy. -
nPoints— общее количество точек. - См. также:
drawPolygon
public void drawPolygon(Polygon p)
Polygon.- Параметры:
-
p— многоугольник для рисования. - См. также:
fillPolygon
public abstract void fillPolygon(int[] xPoints, int[] yPoints, int nPoints)
Этот метод рисует многоугольник, заданный nPoint отрезками, причем первые nPoint - 1 отрезков соединяют (xPoints[i - 1], yPoints[i - 1]) и (xPoints[i], yPoints[i]) при 1 ≤ i ≤ nPoints. Фигура автоматически замыкается линией, соединяющей последнюю точку с первой, если эти точки различаются.
Область внутри многоугольника определяется с помощью правила заполнения по четности, также известного как правило чередования.
- Параметры:
-
xPoints— массив координатx. -
yPoints— массив координатy. -
nPoints— общее количество точек. - См. также:
fillPolygon
public void fillPolygon(Polygon p)
Область внутри многоугольника определяется с помощью правила заполнения по четности, также известного как правило чередования.
- Параметры:
-
p— многоугольник для заполнения. - См. также:
drawString
public abstract void drawString(String str, int x, int y)
- Параметры:
-
str— строка для рисования. -
x— координата x. -
y— координата y. - Выбрасывает:
-
NullPointerException— еслиstrравноnull. - См. также:
drawString
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
TextAttribute. Базовая линия крайнего левого символа находится в позиции (x, y) в системе координат этого графического контекста.
- Параметры:
-
iterator— итератор, текст которого нужно нарисовать -
x— координата x. -
y— координата y. - Выбрасывает:
-
NullPointerException— еслиiteratorравноnull. - См. также:
drawChars
public void drawChars(char[] data, int offset, int length, int x, int y)
- Параметры:
-
data— массив символов для рисования -
offset— начальное смещение в данных -
length— количество символов для рисования -
x— координата x базовой линии текста -
y— координата y базовой линии текста - Выбрасывает:
-
NullPointerException— еслиdataравноnull. -
IndexOutOfBoundsException— еслиoffsetилиlengthменьше нуля либоoffset+lengthбольше длины массиваdata. - См. также:
drawBytes
public void drawBytes(byte[] data, int offset, int length, int x, int y)
Не рекомендуется использовать этот метод, поскольку каждый байт интерпретируется как кодовая точка Unicode в диапазоне от 0 до 255, поэтому с его помощью можно рисовать только латинские символы из этого диапазона.
- Параметры:
-
data— данные для рисования -
offset— начальное смещение в данных -
length— количество рисуемых байтов -
x— координата x базовой линии текста -
y— координата y базовой линии текста - Выбрасывает:
-
NullPointerException— еслиdataравноnull. -
IndexOutOfBoundsException— еслиoffsetилиlengthменьше нуля либоoffset+lengthбольше длины массиваdata. - См. также:
drawImage
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
Этот метод во всех случаях возвращает управление немедленно, даже если изображение еще не загружено полностью, не выполнено его дизеринг-преобразование и преобразование для текущего устройства вывода.
Если изображение загружено полностью и его пиксели больше не изменяются, то drawImage возвращает true. В противном случае drawImage возвращает false, а по мере того как становится доступна новая часть изображения или наступает время отрисовки следующего кадра анимации, процесс загрузки изображения уведомляет указанный объект-наблюдатель за изображением.
- Параметры:
-
img— указанное изображение для рисования. Этот метод ничего не делает, еслиimgравно null. -
x— координата x. -
y— координата y. -
observer— объект, который будет получать уведомления по мере преобразования изображения. - Возвращает:
-
false, если пиксели изображения все еще изменяются; в противном случае —true. - См. также:
drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Изображение рисуется внутри указанного прямоугольника в системе координат данного графического контекста и при необходимости масштабируется. Прозрачные пиксели не влияют на уже имеющиеся пиксели.
Во всех случаях этот метод возвращает управление немедленно, даже если изображение еще не было полностью масштабировано, растрировано и преобразовано для текущего устройства вывода. Если текущее представление вывода еще не готово, drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс загрузки изображения уведомляет наблюдателя за изображением, вызывая его метод imageUpdate.
Масштабированная версия изображения не обязательно будет сразу доступна только потому, что для этого устройства вывода была создана немасштабированная версия изображения. Каждый размер изображения может кэшироваться отдельно и создаваться из исходных данных в отдельной последовательности формирования изображения.
- Параметры:
-
img— указанное изображение для рисования. Этот метод ничего не делает, еслиimgравно null. -
x— координата x. -
y— координата y. -
width— ширина прямоугольника. -
height— высота прямоугольника. -
observer— объект, который будет уведомлен по мере преобразования изображения. - Возвращает:
-
false, если пиксели изображения все еще изменяются; в противном случае —true. - См. также:
drawImage
public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
Эта операция эквивалентна заполнению прямоугольника шириной и высотой указанного изображения заданным цветом с последующим рисованием изображения поверх него, но может быть более эффективной.
Во всех случаях этот метод возвращает управление немедленно, даже если изображение еще не было полностью загружено, растрировано и преобразовано для текущего устройства вывода.
Если изображение загружено полностью и его пиксели больше не изменяются, drawImage возвращает true. В противном случае drawImage возвращает false, и по мере того, как становится доступна новая часть изображения или приходит время нарисовать следующий кадр анимации, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.
- Параметры:
-
img— указанное изображение для рисования. Этот метод ничего не делает, еслиimgравно null. -
x— координата x. -
y— координата y. -
bgcolor— цвет фона, которым закрашиваются непрозрачные участки изображения. -
observer— объект, который будет уведомлен по мере преобразования изображения. - Возвращает:
-
false, если пиксели изображения все еще изменяются; в противном случае —true. - См. также:
drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
Изображение рисуется внутри указанного прямоугольника в системе координат данного графического контекста и при необходимости масштабируется. Прозрачные пиксели рисуются указанным цветом фона. Эта операция эквивалентна заполнению прямоугольника шириной и высотой указанного изображения заданным цветом с последующим рисованием изображения поверх него, но может быть более эффективной.
Во всех случаях этот метод возвращает управление немедленно, даже если изображение еще не было полностью масштабировано, растрировано и преобразовано для текущего устройства вывода. Если текущее представление вывода еще не готово, drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.
Масштабированная версия изображения не обязательно будет сразу доступна только потому, что для этого устройства вывода была создана немасштабированная версия изображения. Каждый размер изображения может кэшироваться отдельно и создаваться из исходных данных в отдельной последовательности формирования изображения.
- Параметры:
-
img— указанное изображение для рисования. Этот метод ничего не делает, еслиimgравно null. -
x— координата x. -
y— координата y. -
width— ширина прямоугольника. -
height— высота прямоугольника. -
bgcolor— цвет фона, которым закрашиваются непрозрачные участки изображения. -
observer— объект, который будет уведомлен по мере преобразования изображения. - Возвращает:
-
false, если пиксели изображения все еще изменяются; в противном случае —true. - См. также:
drawImage
public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, ImageObserver observer)
Во всех случаях этот метод возвращает управление немедленно, даже если область изображения, которую нужно нарисовать, еще не была масштабирована, растрирована и преобразована для текущего устройства вывода. Если текущее представление вывода еще не готово, drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.
Этот метод всегда использует немасштабированную версию изображения для отрисовки масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Для этой операции он не использует кэшированную масштабированную версию изображения. Масштабирование изображения из источника в назначение выполняется так, что первая координата исходного прямоугольника отображается в первую координату прямоугольника назначения, а вторая координата источника — во вторую координату назначения. Подизображение масштабируется и отражается при необходимости, чтобы сохранить эти соответствия.
- Параметры:
-
img— указанное изображение для рисования. Этот метод ничего не делает, еслиimgравно null. -
dx1— координата x первого угла прямоугольника назначения. -
dy1— координата y первого угла прямоугольника назначения. -
dx2— координата x второго угла прямоугольника назначения. -
dy2— координата y второго угла прямоугольника назначения. -
sx1— координата x первого угла исходного прямоугольника. -
sy1— координата y первого угла исходного прямоугольника. -
sx2— координата x второго угла исходного прямоугольника. -
sy2— координата y второго угла исходного прямоугольника. -
observer— объект, который будет уведомлен по мере масштабирования и преобразования изображения. - Возвращает:
-
false, если пиксели изображения все еще изменяются; в противном случае —true. - С версии:
- 1.1
- См. также:
drawImage
public abstract boolean drawImage(Image img, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2, Color bgcolor, ImageObserver observer)
Прозрачные пиксели рисуются указанным цветом фона. Эта операция эквивалентна заполнению прямоугольника шириной и высотой указанного изображения заданным цветом с последующим рисованием изображения поверх него, но может быть более эффективной.
Во всех случаях этот метод возвращает управление немедленно, даже если область изображения, которую нужно нарисовать, еще не была масштабирована, растрирована и преобразована для текущего устройства вывода. Если текущее представление вывода еще не готово, drawImage возвращает false. По мере того как становится доступна новая часть изображения, процесс загрузки изображения уведомляет указанного наблюдателя за изображением.
Этот метод всегда использует немасштабированную версию изображения для отрисовки масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Для этой операции он не использует кэшированную масштабированную версию изображения. Масштабирование изображения из источника в назначение выполняется так, что первая координата исходного прямоугольника отображается в первую координату прямоугольника назначения, а вторая координата источника — во вторую координату назначения. Подизображение масштабируется и отражается при необходимости, чтобы сохранить эти соответствия.
- Параметры:
-
img— указанное изображение для рисования. Этот метод ничего не делает, еслиimgравно null. -
dx1— координата x первого угла прямоугольника назначения. -
dy1— координата y первого угла прямоугольника назначения. -
dx2— координата x второго угла прямоугольника назначения. -
dy2— координата y второго угла прямоугольника назначения. -
sx1— координата x первого угла исходного прямоугольника. -
sy1— координата y первого угла исходного прямоугольника. -
sx2— координата x второго угла исходного прямоугольника. -
sy2— координата y второго угла исходного прямоугольника. -
bgcolor— цвет фона, которым закрашиваются непрозрачные участки изображения. -
observer— объект, который будет уведомлен по мере масштабирования и преобразования изображения. - Возвращает:
-
false, если пиксели изображения все еще изменяются; в противном случае —true. - С версии:
- 1.1
- См. также:
dispose
public abstract void dispose()
Graphics нельзя использовать после вызова dispose. Во время выполнения программы Java за короткий промежуток времени может быть создано большое количество объектов Graphics. Хотя сборщик мусора освобождает те же системные ресурсы в процессе финализации, предпочтительнее вручную освободить связанные ресурсы вызовом этого метода, а не полагаться на процесс финализации, который может долго не завершаться.
Графические объекты, передаваемые в качестве аргументов методам paint и update компонентов, автоматически освобождаются системой после возврата этих методов. Для повышения эффективности программистам следует вызывать dispose по завершении работы с объектом Graphics только в том случае, если он был создан непосредственно из компонента или другого объекта Graphics.
- См. также:
finalize
@Deprecated(since="9", forRemoval=true) public void finalize()
Object.finalize().toString
getClipRect
@Deprecated public Rectangle getClipRect()
getClipBounds().- Возвращает:
- ограничивающий прямоугольник текущей области отсечения или
null, если отсечение не задано.
hitClip
public boolean hitClip(int x, int y, int width, int height)
- Параметры:
-
x— координата x прямоугольника, проверяемого на пересечение с областью отсечения -
y— координата y прямоугольника, проверяемого на пересечение с областью отсечения -
width— ширина прямоугольника, проверяемого на пересечение с областью отсечения -
height— высота прямоугольника, проверяемого на пересечение с областью отсечения - Возвращает:
-
true, если указанный прямоугольник пересекается с границами текущей области отсечения; в противном случае —false.
getClipBounds
public Rectangle getClipBounds(Rectangle r)
getClipBounds тем, что использует существующий прямоугольник вместо создания нового. Этот метод относится к пользовательской области отсечения, которая не зависит от отсечения, связанного с границами устройства и видимостью окна. Если область отсечения ранее не задавалась или была очищена с помощью setClip(null), этот метод возвращает указанный Rectangle.- Параметры:
-
r— прямоугольник, в который копируется текущая область отсечения. Все текущие значения этого прямоугольника перезаписываются. - Возвращает:
- ограничивающий прямоугольник текущей области отсечения.
© 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/Graphics.html