Класс Graphics
- Прямые известные подклассы:
-
DebugGraphics,Graphics2D
public abstract class Graphics extends Object
Graphics — это абстрактный базовый класс для всех графических контекстов, которые позволяют приложению рисовать на компонентах, реализованных на различных устройствах, а также на внеэкранных изображениях. Объект Graphics инкапсулирует информацию о состоянии, необходимую для основных операций рендеринга, которые поддерживает Java. Эта информация о состоянии включает в себя следующие свойства:
- Объект
Component, на котором нужно рисовать. - Исходная точка преобразования для координат рендеринга и обрезки.
- Текущая область обрезки.
- Текущий цвет.
- Текущий шрифт.
- Текущая логическая функция операции пикселей (XOR или заливка).
- Текущий цвет альтернации XOR (см.
setXORMode(java.awt.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 |
Рисует 3D-выделенную обводку указанного прямоугольника. |
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 |
Заливает 3D-выделенный прямоугольник текущим цветом. |
abstract void |
fillArc |
Заливает круговую или эллиптическую дугу, покрывающую указанный прямоугольник. |
abstract void |
fillOval |
Заливает овал, ограниченный указанным прямоугольником, текущим цветом. |
abstract void |
fillPolygon |
Заливает замкнутый многоугольник, определённый массивами координат x и y. |
void |
fillPolygon |
Заливает многоугольник, определённый объектом Polygon, текущим цветом контекста графики. |
abstract void |
fillRect |
Заливает указанный прямоугольник. |
abstract void |
fillRoundRect |
Заливает указанный прямоугольник с закругленными углами текущим цветом. |
void |
finalize() |
Устарело. |
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 пикселей в высоту.
- Parameters:
-
x- координата x прямоугольника, который нужно нарисовать. -
y- координата y прямоугольника, который нужно нарисовать. -
width- ширина прямоугольника, который нужно нарисовать. -
height- высота прямоугольника, который нужно нарисовать. -
raised- логическое значение, определяющее, будет ли прямоугольник выглядеть выступающим над поверхностью или вдавленным в неё. - See Also:
fill3DRect
public void fill3DRect(int x, int y, int width, int height, boolean raised)
- Parameters:
-
x- координата x прямоугольника, который нужно заполнить. -
y- координата y прямоугольника, который нужно заполнить. -
width- ширина прямоугольника, который нужно заполнить. -
height- высота прямоугольника, который нужно заполнить. -
raised- логическое значение, определяющее, будет ли прямоугольник выглядеть выступающим над поверхностью или вдавленным в неё. - See Also:
drawOval
public abstract void drawOval(int x, int y, int width, int height)
x, y, width, и height. Овал занимает область размером width + 1 пикселей в ширину и height + 1 пикселей в высоту.
- Parameters:
-
x- координата x верхнего левого угла овала, который нужно нарисовать. -
y- координата y верхнего левого угла овала, который нужно нарисовать. -
width- ширина овала, который нужно нарисовать. -
height- высота овала, который нужно нарисовать. - See Also:
fillOval
public abstract void fillOval(int x, int y, int width, int height)
- Parameters:
-
x- координата x верхнего левого угла овала, который нужно заполнить. -
y- координата y верхнего левого угла овала, который нужно заполнить. -
width- ширина овала, который нужно заполнить. -
height- высота овала, который нужно заполнить. - See Also:
drawArc
public abstract void drawArc(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 градусов всегда попадает на линию от центра эллипса до правого верхнего угла ограничивающего прямоугольника. В результате, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси границ.
- Parameters:
-
x- координата x верхнего левого угла дуги, которую нужно нарисовать. -
y- координата y верхнего левого угла дуги, которую нужно нарисовать. -
width- ширина дуги, которую нужно нарисовать. -
height- высота дуги, которую нужно нарисовать. -
startAngle- начальный угол. -
arcAngle- угловое расширение дуги относительно начального угла. - See Also:
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 градусов всегда попадает на линию от центра эллипса до правого верхнего угла ограничивающего прямоугольника. В результате, если ограничивающий прямоугольник заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше вдоль более длинной оси границ.
- Parameters:
-
x- координата x верхнего левого угла дуги, которую нужно заполнить. -
y- координата y верхнего левого угла дуги, которую нужно заполнить. -
width- ширина дуги, которую нужно заполнить. -
height- высота дуги, которую нужно заполнить. -
startAngle- начальный угол. -
arcAngle- угловое расширение дуги относительно начального угла. - See Also:
drawPolyline
public abstract void drawPolyline(int[] xPoints, int[] yPoints, int nPoints)
- Parameters:
-
xPoints- массив точек x -
yPoints- массив точек y -
nPoints- общее количество точек - Since:
- 1.1
- See Also:
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. Фигура автоматически закрывается путём рисования линии, соединяющей последнюю точку с первой точкой, если эти точки различны.
- Parameters:
-
xPoints- массив координатx. -
yPoints- массив координатy. -
nPoints- общее количество точек. - See Also:
drawPolygon
public void drawPolygon(Polygon p)
Polygon. - Parameters:
-
p- многоугольник для рисования. - See Also:
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. Фигура автоматически закрывается путем рисования линии, соединяющей последнюю точку с первой точкой, если эти точки различны.
Площадь внутри многоугольника определяется с помощью правила заполнения четность-нечетность, также известного как правило чередования.
- Parameters:
-
xPoints- массив координатx. -
yPoints- массив координатy. -
nPoints- общее количество точек. - See Also:
fillPolygon
public void fillPolygon(Polygon p)
Площадь внутри многоугольника определяется с помощью правила заполнения четность-нечетность, также известного как правило чередования.
- Parameters:
-
p- многоугольник для заполнения. - See Also:
drawString
public abstract void drawString(String str, int x, int y)
- Parameters:
-
str- строка, подлежащая отрисовке. -
x- координата x. -
y- координата y. - Throws:
-
NullPointerException- еслиstrявляетсяnull. - See Also:
drawString
public abstract void drawString(AttributedCharacterIterator iterator, int x, int y)
TextAttribute. Базовая линия самой левой буквы расположена в позиции (x, y) в системе координат этого контекста графики.
- Parameters:
-
iterator- итератор, текст которого подлежит отрисовке -
x- координата x. -
y- координата y. - Throws:
-
NullPointerException- еслиiteratorявляетсяnull. - See Also:
drawChars
public void drawChars(char[] data, int offset, int length, int x, int y)
- Parameters:
-
data- массив символов для отрисовки -
offset- начальный смещение в данных -
length- количество символов для отрисовки -
x- координата x базовой линии текста -
y- координата y базовой линии текста - Throws:
-
NullPointerException- еслиdataявляетсяnull. -
IndexOutOfBoundsException- еслиoffsetилиlengthменьше нуля, илиoffset+lengthбольше длины массиваdata. - See Also:
drawBytes
public void drawBytes(byte[] data, int offset, int length, int x, int y)
Использование этого метода не рекомендуется, так как каждый байт интерпретируется как код Юникода в диапазоне от 0 до 255, и поэтому может быть использован только для рисования латинских символов в этом диапазоне.
- Parameters:
-
data- данные для отрисовки -
offset- начальный смещение в данных -
length- количество байтов, которые выводятся -
x- координата x базовой линии текста -
y- координата y базовой линии текста - Throws:
-
NullPointerException- еслиdataравноnull. -
IndexOutOfBoundsException- еслиoffsetилиlengthменьше нуля, илиoffset+lengthбольше длины массиваdata. - See Also:
drawImage
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
Этот метод возвращает немедленно во всех случаях, даже если полное изображение еще не загружено, и оно еще не размыто и не преобразовано для текущего устройства вывода.
Если изображение полностью загружено и его пиксели больше не изменяются, то drawImage возвращает true. В противном случае, drawImage возвращает false, и по мере поступления большего количества данных изображения или при необходимости отображения следующей кадра анимации, процесс загрузки изображения уведомляет указанный наблюдатель изображения.
- Parameters:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
observer- объект, который будет уведомлен по мере получения большего количества данных изображения. - Returns:
-
falseесли пиксели изображения все еще меняются;trueв противном случае. - See Also:
drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, ImageObserver observer)
Изображение отображается внутри заданного прямоугольника пространства координат этого контекста графики и масштабируется при необходимости. Прозрачные пиксели не влияют на уже имеющиеся пиксели.
Этот метод возвращает немедленно во всех случаях, даже если все изображение еще не было масштабировано, размыто и преобразовано для текущего устройства вывода. Если текущее представление вывода еще не завершено, то drawImage возвращает false. По мере поступления большего количества данных изображения процесс загрузки изображения уведомляет наблюдателя изображения, вызвав его метод imageUpdate.
Масштабированная версия изображения не обязательно будет доступна немедленно только потому, что для этого устройства вывода была построена не масштабированная версия изображения. Каждый размер изображения может быть кэширован отдельно и сгенерирован из исходных данных в отдельной последовательности производства изображений.
- Parameters:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
width- ширина прямоугольника. -
height- высота прямоугольника. -
observer- объект, который будет уведомлен по мере получения большего количества данных изображения. - Returns:
-
falseесли пиксели изображения все еще изменяются;trueв противном случае. - See Also:
drawImage
public abstract boolean drawImage(Image img, int x, int y, Color bgcolor, ImageObserver observer)
Эта операция эквивалентна заполнению прямоугольника шириной и высотой указанного изображения заданным цветом и последующему отображению изображения поверх него, но, возможно, более эффективна.
Этот метод возвращает значение немедленно во всех случаях, даже если полное изображение ещё не загружено, и оно ещё не растрировано и не преобразовано для текущего устройства вывода.
Если изображение полностью загружено и его пиксели больше не изменяются, то drawImage возвращает true. В противном случае, drawImage возвращает false, и по мере доступности большей части изображения или при необходимости отображения следующего кадра анимации, процесс загрузки изображения уведомляет указанного наблюдателя изображения.
- Parameters:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
bgcolor- цвет фона для заполнения областей под непрозрачными частями изображения. -
observer- объект, который будет уведомлен по мере обработки большего количества изображения. - Returns:
-
falseесли пиксели изображения всё ещё изменяются;trueв противном случае. - See Also:
drawImage
public abstract boolean drawImage(Image img, int x, int y, int width, int height, Color bgcolor, ImageObserver observer)
Изображение отображается внутри указанного прямоугольника в пространстве координат этого контекста графики, и масштабируется при необходимости. Прозрачные пиксели отображаются в указанном цвете фона. Эта операция эквивалентна заполнению прямоугольника шириной и высотой указанного изображения заданным цветом и последующему отображению изображения поверх него, но, возможно, более эффективна.
Этот метод возвращает значение немедленно во всех случаях, даже если всё изображение ещё не масштабировано, растрировано и не преобразовано для текущего устройства вывода. Если текущая визуализация не завершена, то drawImage возвращает false. По мере доступности большей части изображения, процесс загрузки изображения уведомляет указанного наблюдателя изображения.
Масштабированная версия изображения не обязательно будет доступна сразу же, просто потому, что не масштабированная версия изображения была создана для этого устройства вывода. Каждый размер изображения может кэшироваться отдельно и генерироваться из исходных данных в отдельной последовательности производства изображения.
- Parameters:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
x- координата x. -
y- координата y. -
width- ширина прямоугольника. -
height- высота прямоугольника. -
bgcolor- цвет фона для заполнения областей под непрозрачными частями изображения. -
observer- объект, который будет уведомлен по мере обработки большего количества изображения. - Returns:
-
falseесли пиксели изображения всё ещё изменяются;trueв противном случае. - See Also:
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. По мере доступности большей части изображения, процесс загрузки изображения уведомляет указанного наблюдателя изображения.
Этот метод всегда использует не масштабированную версию изображения для рендеринга масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Он не использует кэшированную, масштабированную версию изображения для этой операции. Масштабирование изображения из источника в пункт назначения выполняется таким образом, что первая координата прямоугольника источника отображается на первую координату прямоугольника пункта назначения, а вторая координата источника отображается на вторую координату пункта назначения. Подизображение масштабируется и переворачивается по мере необходимости для сохранения этих сопоставлений.
- Parameters:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
dx1- координата x первого угла прямоугольника назначения. -
dy1- координата y первого угла прямоугольника назначения. -
dx2- координата x второго угла прямоугольника назначения. -
dy2- координата y второго угла прямоугольника назначения. -
sx1- координата x первого угла прямоугольника источника. -
sy1- координата y первого угла прямоугольника источника. -
sx2- координата x второго угла прямоугольника источника. -
sy2- координата y второго угла прямоугольника источника. -
observer- объект, который будет уведомлен по мере масштабирования и преобразования большего количества изображения. - Returns:
-
falseесли пиксели изображения всё ещё изменяются;trueв противном случае. - Since:
- 1.1
- See Also:
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. По мере доступности большей части изображения, процесс загрузки изображения уведомляет указанного наблюдателя изображения.
Этот метод всегда использует не масштабированную версию изображения для рендеринга масштабированного прямоугольника и выполняет необходимое масштабирование на лету. Он не использует кэшированную, масштабированную версию изображения для этой операции. Масштабирование изображения из источника в пункт назначения выполняется таким образом, что первая координата прямоугольника источника отображается на первую координату прямоугольника пункта назначения, а вторая координата источника отображается на вторую координату пункта назначения. Подизображение масштабируется и переворачивается по мере необходимости для сохранения этих сопоставлений.
- Parameters:
-
img- указанное изображение для отображения. Этот метод ничего не делает, еслиimgравно null. -
dx1- координата x первого угла прямоугольника назначения. -
dy1- координата y первого угла прямоугольника назначения. -
dx2- координата x второго угла прямоугольника назначения. -
dy2- координата y второго угла прямоугольника назначения. -
sx1- координата x первого угла прямоугольника источника. -
sy1- координата y первого угла прямоугольника источника. -
sx2- координата x второго угла прямоугольника источника. -
sy2- координата y второго угла прямоугольника источника. -
bgcolor- цвет фона для заполнения областей под непрозрачными частями изображения. -
observer- объект, который будет уведомлен по мере масштабирования и преобразования большего количества изображения. - Returns:
-
falseесли пиксели изображения всё ещё изменяются;trueв противном случае. - Since:
- 1.1
- See Also:
dispose
public abstract void dispose()
Graphics не может быть использован после того, как был вызван метод dispose. При выполнении Java-программы за короткий промежуток времени может быть создано большое количество объектов Graphics. Хотя процесс финализации сборщика мусора также удаляет те же системные ресурсы, предпочтительнее вручную освободить связанные ресурсы, вызвав этот метод, а не полагаться на процесс финализации, который может не завершиться за короткий промежуток времени.
Графические объекты, которые передаются в качестве аргументов методам paint и update компонентов, автоматически освобождаются системой при возвращении из этих методов. Для повышения эффективности программисты должны вызывать dispose после завершения использования объекта Graphics, только если он был создан непосредственно из компонента или другого объекта Graphics.
finalize
@Deprecated(since="9") public void finalize()
finalize устарел. Подклассы, переопределяющие метод finalize для выполнения очистки, должны быть изменены на использование альтернативных механизмов очистки и удаления переопределенного метода finalize. При переопределении метода finalize, его реализация должна явно гарантировать, что super.finalize() вызывается так, как описано в Object.finalize(). См. спецификацию для Object.finalize() для получения дополнительной информации об вариантах миграции.- Переопределяет:
-
finalizeв классеObject - См. также:
toString
public String toString()
String, представляющий значение этого объекта Graphics. - Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого контекста графики.
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, 2021, 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/17/docs/api/java.desktop/java/awt/Graphics.html
finalizeустарел.