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