Класс GraphicsContext
public final class GraphicsContext extends Object
Canvas с помощью буфера. Каждая вызов добавляет необходимые параметры в буфер, где они будут позже отрисованы на изображении узла Canvas потоком отрисовки в конце импульса.
Canvas содержит только один GraphicsContext и только один буфер. Если он не присоединен к какой-либо сцене, его можно модифицировать из любого потока, при условии, что он используется только одним потоком за раз. После того, как узел Canvas присоединен к сцене, его необходимо модифицировать в потоке JavaFX Application.
Вызов любого метода GraphicsContext считается модификацией соответствующего Canvas и подчиняется тем же правилам потоков.
GraphicsContext также управляет стеком объектов состояния, которые можно сохранять и восстанавливать в любое время.
GraphicsContext поддерживает следующие атрибуты рендеринга, которые влияют на различные подмножества методов рендеринга:
| Атрибут | Сохранить/Восстановить? | Значение по умолчанию | Описание |
|---|---|---|---|
| Общие атрибуты отрисовки | |||
Clip | Да | Без обрезки | Антиалиасинговое пересечение различных областей обрезки, к которым ограничена отрисовка. |
Global Alpha | Да | 1.0 | Значение непрозрачности, которое управляет видимостью или затемнением каждого действия отрисовки. |
Global Blend Mode | Да | SRC_OVER | Значение перечисления BlendMode, которое управляет тем, как пиксели каждого действия отрисовки комбинируются с существующим изображением. |
Transform | Да | Identity | Матрица 3x2 2D аффинного преобразования, которая управляет тем, как координаты отображаются на логические пиксели изображения холста. |
Effect | Да | null | Применяемый к каждому действию отрисовки Effect. |
| Атрибуты заливки | |||
Fill Paint | Да | BLACK | Paint для применения к внутренности фигур в операции заливки. |
| Атрибуты обводки | |||
Stroke Paint | Да | BLACK | Paint для применения к границе фигур в операции обводки. |
Line Width | Да | 1.0 | Ширина обводки, применяемой к границе фигур в операции обводки. |
Line Cap | Да | SQUARE | Стиль заглушек, применяемых к началу и концу каждого штриха и/или подпути в операции обводки. |
Line Join | Да | MITER | Стиль соединений, применяемых между отдельными сегментами в границах путей фигур в операции обводки. |
Miter Limit | Да | 10.0 | Предельное отношение, насколько далеко может простираться соединение MITER вдоль острой вершины между сегментами в границе пути фигуры, относительно ширины линии, прежде чем оно будет усечено до соединения BEVEL в операции обводки. |
Dashes | Да | null | Массив длин штрихов, которые должны быть применены к сегментам в границах фигур в операции обводки. |
Dash Offset | Да | 0.0 | Смещение по расстоянию в массиве длин штрихов, с которого следует начинать штриховку сегментов в границах фигур в операции обводки. |
| Атрибуты текста | |||
Font | Да | Default Font | Шрифт, используемый для всех операций заливки и обводки текста. |
Text Align | Да | LEFT | Горизонтальное выравнивание текста относительно координаты X, указанной в операции с текстом. |
Text Baseline | Да | BASELINE | Вертикальное положение текста относительно координаты Y, указанной в операции с текстом. |
Font Smoothing | Да | GRAY | Тип сглаживания (антиалиасинга), применяемый к глифам в шрифте для всех операций заполнения текстом. |
| Атрибуты пути | |||
Current Path | Нет | Пустой путь | Путь, построенный с использованием различных методов построения пути, предназначенный для различных операций заполнения, обводки или обрезки путей. |
Fill Rule | Да | NON_ZERO | Метод определения внутренней области путей для операции заполнения или обрезки пути. |
| Атрибуты изображения | |||
Image Smoothing | Да | true | Логическое значение, которое включает или выключает сглаживание изображений для drawImage(all forms). |
Различные методы отрисовки на GraphicsContext используют следующие наборы атрибутов отрисовки:
| Метод | Общие атрибуты отрисовки | Атрибуты заливки | Атрибуты обводки | Атрибуты текста | Атрибуты пути | Атрибуты изображения |
|---|---|---|---|---|---|---|
| Отрисовка базовых фигур | ||||||
fillRect(), fillRoundRect(), fillOval(), fillArc() | Да | Да | Нет | Нет | Нет | Нет |
strokeLine(), strokeRect(), strokeRoundRect(), strokeOval(), strokeArc() | Да | Нет | Да | Нет | Нет | Нет |
clearRect() | Да [1] | Нет | Нет | Нет | Нет | Нет |
fillPolygon() | Да | Да | Нет | Нет | Да [2] | Нет |
strokePolygon(), strokePolyline() | Да | Нет | Да | Нет | Нет | Нет |
| [1] Только преобразование, обрезка и эффект применяются к clearRect() [2] Только правило заливки применяется к fillPolygon(), текущий путь не изменяется | ||||||
| Отрисовка текста | ||||||
fillText(), fillText(with maxWidth) | Да | Да | Нет | Да [3] | Нет | Нет |
strokeText(), strokeText(with maxWidth) | Да | Нет | Да | Да [3] | Нет | Нет |
| [3] Атрибут сглаживания шрифта применяется только к залитому тексту | ||||||
| Отрисовка пути | ||||||
beginPath(), moveTo(), lineTo(), quadraticCurveTo(), bezierCurveTo(), arc(), arcTo(), appendSVGPath(), closePath(), rect() | Да [4] | Нет | Нет | Нет | Нет | Нет |
fill() | Да [4] | Да | Нет | Нет | Да | Нет |
stroke() | Да [4] | Нет | Да | Нет | Да [5] | Нет |
clip() | Нет | Нет | Нет | Нет | Да | Нет |
| [4] Преобразование применяется только во время построения пути [5] Правило заливки используется только для fill() и clip() | ||||||
| Отрисовка изображения | ||||||
drawImage(all forms) | Да | Нет | Нет | Нет | Нет | Да |
| Разное | ||||||
applyEffect(), PixelWriter methods | Нет | Нет | Нет | Нет | Нет | Нет |
Пример:
import javafx.scene.*; import javafx.scene.paint.*; import javafx.scene.canvas.*; Group root = new Group(); Scene s = new Scene(root, 300, 300, Color.BLACK); final Canvas canvas = new Canvas(250,250); GraphicsContext gc = canvas.getGraphicsContext2D(); gc.setFill(Color.BLUE); gc.fillRect(75,75,100,100); root.getChildren().add(canvas);
- С момента:
- JavaFX 2.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
appendSVGPath |
Добавляет строку SVG Path к текущей траектории. |
void |
applyEffect |
Применяет заданный эффект ко всему полю холста и сохраняет результат обратно в тот же холст. |
void |
arc |
Добавляет элементы пути к текущей траектории, создавая дугу, использующую градусы Евклида. |
void |
arcTo |
Добавляет сегменты в текущую траекторию, создавая дугу. |
void |
beginPath() |
Сбрасывает текущую траекторию в пустое состояние. |
void |
bezierCurveTo |
Добавляет сегменты в текущую траекторию, создавая кубическую кривую Безье. |
void |
clearRect |
Очищает часть холста прозрачным значением цвета. |
void |
clip() |
Пересекает текущую обрезку с текущей траекторией и применяет её к последующим операциям отрисовки в качестве маски с антиалиасингом. |
void |
closePath() |
Закрывает траекторию. |
void |
drawImage |
Отображает изображение в заданной позиции x, y, используя ширину и высоту заданного изображения. |
void |
drawImage |
Отображает изображение в заданном прямоугольнике назначения на холсте. |
void |
drawImage |
Отображает указанный прямоугольник источника заданного изображения в заданный прямоугольник назначения на холсте. |
void |
fill() |
Заполняет траекторию текущей краской заливки. |
void |
fillArc |
Заполняет дугу текущей краской заливки. |
void |
fillOval |
Заполняет овал текущей краской заливки. |
void |
fillPolygon |
Заполняет многоугольник с заданными точками текущей краской заливки. |
void |
fillRect |
Заполняет прямоугольник текущей краской заливки. |
void |
fillRoundRect |
Заполняет скругленный прямоугольник текущей краской заливки. |
void |
fillText |
Заполняет заданную строку текста в позиции x, y текущей краской заливки. |
void |
fillText |
Заполняет текст и включает максимальную ширину строки. |
Canvas |
getCanvas() |
Получает Canvas, в который GraphicsContext выдает команды рисования. |
Effect |
getEffect |
Получает копию эффекта, который должен быть применён после следующего вызова draw. |
Paint |
getFill() |
Получает текущую краску заливки. |
FillRule |
getFillRule() |
Получает атрибут правила заполнения для определения внутренней части путей в операциях заполнения и обрезки. |
Font |
getFont() |
Получает текущий шрифт. |
FontSmoothingType |
getFontSmoothingType() |
Получает текущий тип сглаживания шрифта. |
double |
getGlobalAlpha() |
Получает текущий глобальный альфа-канал. |
BlendMode |
getGlobalBlendMode() |
Получает глобальный режим смешивания. |
StrokeLineCap |
getLineCap() |
Получает текущую форму кончика линии. |
double[] |
getLineDashes() |
Получает копию текущего массива штриховой линии. |
double |
getLineDashOffset() |
Получает текущий смещение штриховой линии. |
StrokeLineJoin |
getLineJoin() |
Получает текущую форму соединения линий. |
double |
getLineWidth() |
Получает текущую ширину линии. |
double |
getMiterLimit() |
Получает текущее ограничение отсечения. |
PixelWriter |
getPixelWriter() |
Возвращает объект PixelWriter, который можно использовать для изменения пикселей Canvas, связанной с этим GraphicsContext. |
Paint |
getStroke() |
Получает текущую обводку. |
TextAlignment |
getTextAlign() |
Получает текущий TextAlignment. |
VPos |
getTextBaseline() |
Получает текущую линию базовой строки текста. |
Affine |
getTransform() |
Возвращает копию текущего преобразования. |
Affine |
getTransform |
Копирует текущее преобразование в предоставленный объект, создаёт новый объект Affine, если он равен null, и возвращает объект, содержащий копию. |
boolean |
isImageSmoothing() |
Получает текущее состояние сглаживания изображений. |
boolean |
isPointInPath |
Возвращает true, если заданная точка x,y находится внутри пути. |
void |
lineTo |
Добавляет сегменты в текущую траекторию, создавая линию до заданной координаты x,y. |
void |
moveTo |
Выполняет команду перемещения для текущей траектории до заданной координаты x,y. |
void |
quadraticCurveTo |
Добавляет сегменты в текущую траекторию, создавая квадратическую кривую Безье. |
void |
rect |
Добавляет элементы пути в текущую траекторию, создавая прямоугольник. |
void |
restore() |
Извлекает состояние из стека, устанавливая следующие атрибуты в их значения на тот момент, когда это состояние было помещено в стек. |
void |
rotate |
Поворачивает текущее преобразование на заданный угол в градусах. |
void |
save() |
Сохраняет следующие атрибуты в стеке. |
void |
scale |
Масштабирует текущее преобразование на x, y. |
void |
setEffect |
Устанавливает эффект, который будет применен после следующего вызова draw, или null для отключения эффектов. |
void |
setFill |
Устанавливает текущую краску заливки. |
void |
setFillRule |
Устанавливает правило заполнения для определения внутренней части путей в операциях заполнения или обрезки. |
void |
setFont |
Устанавливает текущий шрифт. |
void |
setFontSmoothingType |
Устанавливает текущий тип сглаживания шрифта. |
void |
setGlobalAlpha |
Устанавливает глобальный альфа-канал текущего состояния. |
void |
setGlobalBlendMode |
Устанавливает глобальный режим смешивания. |
void |
setImageSmoothing |
Устанавливает состояние сглаживания изображений. |
void |
setLineCap |
Устанавливает текущую форму кончика линии. |
void |
setLineDashes |
Устанавливает текущий образец штриховой линии для нормализованной копии аргумента. |
void |
setLineDashOffset |
Устанавливает смещение штриховой линии. |
void |
setLineJoin |
Устанавливает текущую форму соединения линий. |
void |
setLineWidth |
Устанавливает текущую ширину линии. |
void |
setMiterLimit |
Устанавливает текущее ограничение отсечения. |
void |
setStroke |
Устанавливает текущий атрибут заливки штриха. |
void |
setTextAlign |
Определяет выравнивание текста по горизонтали относительно начала текста x. |
void |
setTextBaseline |
Устанавливает текущую линию базовой строки текста. |
void |
setTransform |
Устанавливает текущее преобразование. |
void |
setTransform |
Устанавливает текущее преобразование. |
void |
stroke() |
Отображает путь штрихом с текущей заливкой штриха. |
void |
strokeArc |
Выводит дугу штрихом с текущей заливкой штриха. |
void |
strokeLine |
Выводит линию штрихом с текущей заливкой штриха. |
void |
strokeOval |
Выводит овал штрихом с текущей заливкой штриха. |
void |
strokePolygon |
Выводит многоугольник штрихом с заданными точками и текущей заливкой штриха. |
void |
strokePolyline |
Выводит ломаную линию штрихом с заданными точками и текущим атрибутом заливки штриха. |
void |
strokeRect |
Выводит прямоугольник штрихом с текущей заливкой штриха. |
void |
strokeRoundRect |
Выводит прямоугольник с закругленными углами штрихом с текущей заливкой штриха. |
void |
strokeText |
Отображает заданную строку текста в позиции x, y с текущим атрибутом заливки штриха. |
void |
strokeText |
Отображает текст с заливкой штриха и максимальной шириной строки. |
void |
transform |
Конкатенирует входные данные с текущим преобразованием. |
void |
transform |
Конкатенирует входные данные с текущим преобразованием. |
void |
translate |
Переводит текущее преобразование на x, y. |
Подробное описание методов
getCanvas
public Canvas getCanvas()
Canvas, которому GraphicsContext выдает команды рисования. Для GraphicsContext всегда есть только один Canvas.- Возвращает:
- Canvas - холст, которому этот
GraphicsContextвыдает команды рисования.
save
public void save()
- Global Alpha
- Global Blend Operation
- Transform
- Fill Paint
- Stroke Paint
- Line Width
- Line Cap
- Line Join
- Miter Limit
- Clip
- Font
- Text Align
- Text Baseline
- Effect
- Fill Rule
restore
public void restore()
- Global Alpha
- Global Blend Operation
- Transform
- Fill Paint
- Stroke Paint
- Line Width
- Line Cap
- Line Join
- Miter Limit
- Clip
- Font
- Text Align
- Text Baseline
- Effect
- Fill Rule
translate
public void translate(double x, double y)
- Параметры:
-
x- значение для преобразования по оси x. -
y- значение для преобразования по оси y.
scale
public void scale(double x, double y)
- Параметры:
-
x- значение для масштабирования по оси x. -
y- значение для масштабирования по оси y.
rotate
public void rotate(double degrees)
- Параметры:
-
degrees- значение в градусах для поворота текущего transform.
transform
public void transform(double mxx, double myx, double mxy, double myy, double mxt, double myt)
- Параметры:
-
mxx- - элемент масштабирования координаты X матрицы 3x4 -
myx- - элемент сдвига координаты Y матрицы 3x4 -
mxy- - элемент сдвига координаты X матрицы 3x4 -
myy- - элемент масштабирования координаты Y матрицы 3x4 -
mxt- - элемент трансляции координаты X матрицы 3x4 -
myt- - элемент трансляции координаты Y матрицы 3x4
transform
public void transform(Affine xform)
null значение обрабатывается как identity.- Параметры:
-
xform- аффинное преобразование, которое нужно конкатенировать с текущим transform, или null.
setTransform
public void setTransform(double mxx, double myx, double mxy, double myy, double mxt, double myt)
- Параметры:
-
mxx- - элемент масштабирования координаты X матрицы 3x4 -
myx- - элемент сдвига координаты Y матрицы 3x4 -
mxy- - элемент сдвига координаты X матрицы 3x4 -
myy- - элемент масштабирования координаты Y матрицы 3x4 -
mxt- - элемент трансляции координаты X матрицы 3x4 -
myt- - элемент трансляции координаты Y матрицы 3x4
setTransform
public void setTransform(Affine xform)
- Параметры:
-
xform- Аффинное преобразование для копирования и использования в качестве текущего transform.
getTransform
public Affine getTransform(Affine xform)
Affine, если он null, и возвращает объект, содержащий копию.- Параметры:
-
xform- Объект transform, который будет использоваться для хранения результата. Если xform не null, то этот метод скопирует текущий transform в этот объект. Если xform null, будет построен новый объект transform. В любом случае, возвращаемым значением является копия текущего transform. - Возвращает:
- Копия текущего transform.
getTransform
public Affine getTransform()
- Возвращает:
- копию transform текущего состояния.
setGlobalAlpha
public void setGlobalAlpha(double alpha)
1.0. Можно установить любое допустимое double, но только значения в диапазоне [0.0, 1.0] являются допустимыми, и при рендеринге будет использоваться ближайшее значение в этом диапазоне. Global alpha - это общий атрибут, используемый почти для всех методов рендеринга, как указано в Таблице атрибутов рендеринга.- Параметры:
-
alpha- новое значение alpha, ограниченное до[0.0, 1.0]во время фактического использования.
getGlobalAlpha
public double getGlobalAlpha()
1.0. Global alpha - это общий атрибут, используемый почти для всех методов рендеринга, как указано в Таблице атрибутов рендеринга.- Возвращает:
- текущий global alpha.
setGlobalBlendMode
public void setGlobalBlendMode(BlendMode op)
SRC_OVER. null значение будет проигнорировано, и текущее значение останется неизменным. Blend mode - это общий атрибут, используемый почти для всех методов рендеринга, как указано в Таблице атрибутов рендеринга.- Параметры:
-
op-BlendMode, который будет установлен, или null.
getGlobalBlendMode
public BlendMode getGlobalBlendMode()
SRC_OVER. Blend mode - это общий атрибут, используемый почти для всех методов рендеринга, как указано в Таблице атрибутов рендеринга.- Возвращает:
- global
BlendModeтекущего состояния.
setFill
public void setFill(Paint p)
BLACK. Заливка - это атрибут заливки, используемый для любого из методов заливки, как указано в Таблице атрибутов рендеринга. null значение будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
p-Paint, который будет использоваться в качестве заливкиPaint, или null.
getFill
public Paint getFill()
BLACK. Заливка - это атрибут заливки, используемый для любого из методов заливки, как указано в Таблице атрибутов рендеринга.- Возвращает:
- p -
Paint, который будет использоваться в качестве заливкиPaint.
setStroke
public void setStroke(Paint p)
BLACK. Штрих - это атрибут штриха, используемый для любого из методов штриховки, как указано в Таблице атрибутов рендеринга. null значение будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
p- Paint, который будет использоваться в качестве Paint штриха, или null.
getStroke
public Paint getStroke()
BLACK. Кисть — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
Paint, используемую в качестве кистиPaint.
setLineWidth
public void setLineWidth(double lw)
1.0. Ширина линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга. Значение бесконечности или неположительное значение за пределами диапазона (0, +inf) будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
lw- значение в диапазоне {0-положительная бесконечность}, любое другое значение будет проигнорировано, и значение останется неизменным.
getLineWidth
public double getLineWidth()
1.0. Ширина линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
- значение от 0 до бесконечности.
setLineCap
public void setLineCap(StrokeLineCap cap)
SQUARE. Форма конца линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга. Значение null будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
cap-StrokeLineCapсо значением Butt, Round или Square или null.
getLineCap
public StrokeLineCap getLineCap()
SQUARE. Форма конца линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
-
StrokeLineCapсо значением Butt, Round или Square.
setLineJoin
public void setLineJoin(StrokeLineJoin join)
StrokeLineJoin.MITER. Соединение линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга. Значение null будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
join-StrokeLineJoinсо значением Miter, Bevel или Round или null.
getLineJoin
public StrokeLineJoin getLineJoin()
StrokeLineJoin.MITER. Соединение линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
-
StrokeLineJoinсо значением Miter, Bevel или Round.
setMiterLimit
public void setMiterLimit(double ml)
10.0. Ограничение угла слияния — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга. Значение бесконечности или неположительное значение за пределами диапазона (0, +inf) будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
ml- значение ограничения угла слияния от 0 до положительной бесконечности, любое другое значение будет проигнорировано, и значение останется неизменным.
getMiterLimit
public double getMiterLimit()
10.0. Ограничение угла слияния — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
- значение ограничения угла слияния в диапазоне
0.0-positive infinity
setLineDashes
public void setLineDashes(double... dashes)
null. Массив штрихов — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга. Если массив null или пустой или содержит только 0 элементы, штриховка будет отключена, и текущий массив штрихов будет установлен на null. Если любой из элементов массива является отрицательным, бесконечным или NaN-значением вне диапазона [0, +inf), весь массив будет проигнорирован, и текущий массив штрихов останется неизменным. Если массив имеет нечетную длину, он будет обрабатываться как два дублированных массива, присоединённых друг к другу.- Параметры:
-
dashes- массив конечных неотрицательных длин штрихов - С:
- JavaFX 8u40
getLineDashes
public double[] getLineDashes()
null. Массив может быть нормализован с помощью проверок валидности в методе setLineDashes(double...). Массив штрихов — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
- копию текущего массива штрихов линии.
- С:
- JavaFX 8u40
setLineDashOffset
public void setLineDashOffset(double dashOffset)
0.0. Смещение штриховки линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга. Значение бесконечности или NaN за пределами диапазона (-inf, +inf) будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
dashOffset- смещение штриховки линии в диапазоне(-inf, +inf) - С:
- JavaFX 8u40
getLineDashOffset
public double getLineDashOffset()
0.0. Смещение штриховки линии — атрибут атрибута кисти, используемый для любых методов кисти, как указано в таблице атрибутов рендеринга.- Возвращает:
- смещение штриховки линии в диапазоне
(-inf, +inf) - С:
- JavaFX 8u40
setFont
public void setFont(Font f)
Font.getDefault(). Шрифт — текстовый атрибут, используемый для любых текстовых методов, как указано в таблице атрибутов рендеринга. Значение null будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
f- шрифт или null.
getFont
public Font getFont()
Font.getDefault(). Шрифт — текстовый атрибут, используемый для любых текстовых методов, как указано в таблице атрибутов рендеринга.- Возвращает:
- шрифт
setFontSmoothingType
public void setFontSmoothingType(FontSmoothingType fontsmoothing)
GRAY. Тип сглаживания шрифта — текстовый атрибут, используемый для любых текстовых методов, как указано в таблице атрибутов рендеринга. Значение null будет проигнорировано, и текущее значение останется неизменным. Примечание, что значение FontSmoothingType LCD поддерживается только на непрозрачном фоне. LCD текст будет отображаться как GRAY текст на прозрачных или полупрозрачных пикселях, и в некоторых реализациях он может вообще не поддерживаться на Canvas, так как необходимой поддержки нет для поверхностей, содержащих альфа-канал, поскольку все Canvas объекты содержат его.
- Параметры:
-
fontsmoothing-FontSmoothingTypeили null - С:
- JavaFX 8u40
getFontSmoothingType
public FontSmoothingType getFontSmoothingType()
GRAY. Тип сглаживания шрифтов является атрибутом текста, используемым для любых методов работы с текстом, как указано в Таблице атрибутов отрисовки.- Возвращает:
- перечисление
FontSmoothingType - С тех пор как:
- JavaFX 8u40
setTextAlign
public void setTextAlign(TextAlignment align)
x. Значение по умолчанию — LEFT. Выравнивание текста является атрибутом текста, используемым для любых методов работы с текстом, как указано в Таблице атрибутов отрисовки. Пусть горизонтальные границы представляют логическую ширину одной строки текста. Каждая строка текста имеет отдельные горизонтальные границы.
Тогда выравнивание текста задается следующим образом:
- Слева: левый край горизонтальных границ будет в
x. - По центру: центр, равноудаленный от левого и правого краев, горизонтальных границ будет в
x. - Справа: правый край горизонтальных границ будет в
x.
Примечание: холст не поддерживает перенос строк, поэтому выравнивание текста По ширине идентично выравниванию по левому краю.
Значение null будет проигнорировано, и текущее значение останется неизменным.
- Параметры:
-
align-TextAlignmentсо значениями Слева, По центру, Справа или null.
getTextAlign
public TextAlignment getTextAlign()
TextAlignment. Значение по умолчанию — LEFT. Выравнивание текста является атрибутом текста, используемым для любых методов работы с текстом, как указано в Таблице атрибутов отрисовки.- Возвращает:
-
TextAlignmentсо значениями Слева, По центру, Справа или Выравнивание по ширине.
setTextBaseline
public void setTextBaseline(VPos baseline)
BASELINE. Линия основания текста является атрибутом текста, используемым для любых методов работы с текстом, как указано в Таблице атрибутов отрисовки. Значение null будет проигнорировано, и текущее значение останется неизменным.- Параметры:
-
baseline-VPosсо значениями Верх, Центр, Линия основания или Низ или null.
getTextBaseline
public VPos getTextBaseline()
BASELINE. Линия основания текста является атрибутом текста, используемым для любых методов работы с текстом, как указано в Таблице атрибутов отрисовки.- Возвращает:
-
VPosсо значениями Верх, Центр, Линия основания или Низ
fillText
public void fillText(String text, double x, double y)
null текста будет проигнорировано. Этот метод будет затронут любыми из глобальных общих, заливок или текстовых атрибутов, как указано в Таблице атрибутов отрисовки.
- Параметры:
-
text- строка текста или null. -
x- позиция по оси x. -
y- позиция по оси y.
strokeText
public void strokeText(String text, double x, double y)
null текста будет проигнорировано. Этот метод будет затронут любыми из глобальных общих, штрихов или текстовых атрибутов, как указано в Таблице атрибутов отрисовки.
- Параметры:
-
text- строка текста или null. -
x- позиция по оси x. -
y- позиция по оси y.
fillText
public void fillText(String text, double x, double y, double maxWidth)
null текста будет проигнорировано. Этот метод будет затронут любыми из глобальных общих, заливок или текстовых атрибутов, как указано в Таблице атрибутов отрисовки.
- Параметры:
-
text- строка текста или null. -
x- позиция по оси x. -
y- позиция по оси y. -
maxWidth- максимальная ширина строки текста.
strokeText
public void strokeText(String text, double x, double y, double maxWidth)
null текста будет проигнорировано. Этот метод будет затронут любыми из глобальных общих, штрихов или текстовых атрибутов, как указано в Таблице атрибутов отрисовки.
- Параметры:
-
text- строка текста или null. -
x- позиция по оси x. -
y- позиция по оси y. -
maxWidth- максимальная ширина строки текста.
setFillRule
public void setFillRule(FillRule fillRule)
FillRule.NON_ZERO. Значение null будет проигнорировано, и текущее значение останется неизменным. Правило заливки является атрибутом пути, используемым для любых методов заливки или обрезки пути, как указано в Таблице атрибутов отрисовки.- Параметры:
-
fillRule-FillRuleсо значением Even_odd или Non_zero или null.
getFillRule
public FillRule getFillRule()
FillRule.NON_ZERO. Правило заливки является атрибутом пути, используемым для любых методов заливки или обрезки пути, как указано в Таблице атрибутов отрисовки.- Возвращает:
- текущее правило заливки.
setImageSmoothing
public void setImageSmoothing(boolean imageSmoothing)
drawImage(all forms), как указано в Таблице атрибутов отрисовки.Если сглаживание изображений включено, изображения будут масштабироваться с использованием фильтрации более высокого качества при преобразовании или масштабировании исходного изображения для соответствия прямоугольнику назначения.
Если сглаживание изображений выключено, изображения будут масштабироваться без фильтрации (или с использованием фильтрации более низкого качества) при преобразовании или масштабировании исходного изображения для соответствия прямоугольнику назначения.
- Значение по умолчанию:
true- Параметры:
-
imageSmoothing- значение true для включения или false для выключения сглаживания - С тех пор как:
- 12
isImageSmoothing
public boolean isImageSmoothing()
- Значение по умолчанию:
true- Возвращает:
- состояние сглаживания изображения
- С тех пор как:
- 12
beginPath
public void beginPath()
save() и restore().moveTo
public void moveTo(double x0, double y0)
save() и restore().- Параметры:
-
x0— позиция X для команды перемещения. -
y0— позиция Y для команды перемещения.
lineTo
public void lineTo(double x1, double y1)
save() и restore().- Параметры:
-
x1— координата X конечной точки линии. -
y1— координата Y конечной точки линии.
quadraticCurveTo
public void quadraticCurveTo(double xc, double yc, double x1, double y1)
save() и restore().- Параметры:
-
xc— координата X контрольной точки -
yc— координата Y контрольной точки -
x1— координата X конечной точки -
y1— координата Y конечной точки
bezierCurveTo
public void bezierCurveTo(double xc1, double yc1, double xc2, double yc2, double x1, double y1)
save() и restore().- Параметры:
-
xc1— координата X первой контрольной точки Безье. -
yc1— координата Y первой контрольной точки Безье. -
xc2— координата X второй контрольной точки Безье. -
yc2— координата Y второй контрольной точки Безье. -
x1— координата X конечной точки. -
y1— координата Y конечной точки.
arcTo
public void arcTo(double x1, double y1, double x2, double y2, double radius)
save() и restore(). Если p0 — текущая точка в траектории, а p1 — точка, указанная (x1, y1) и p2 — точка, указанная (x2, y2), то добавляемые отрезки дуги будут сегментами по окружности круга указанного радиуса, касающегося и вписанного во внутреннюю сторону выпуклой (внутренней) части p0->p1->p2. Траектория будет содержать отрезки линии (если необходимо) до точки касания этого круга и p0->p1, за которыми последуют сегменты дуги окружности для достижения точки касания между кругом и p1->p2, и завершится текущей точкой в этой точке касания (не в p2). Обратите внимание, что радиус и круглость сегментов дуги будут измеряться или рассматриваться относительно текущего преобразования, но полученные сегменты, вычисленные из этих не преобразованных точек, будут преобразованы при добавлении в траекторию. Поскольку все вычисления выполняются в непрообразованном пространстве, но существующие сегменты траектории — все преобразованные, способность правильно выполнить вычисления может подразумевать возможность обратного преобразования текущего конца текущей траектории обратно в не преобразованные координаты.
Если по какой-либо причине невозможно вычислить и вписать указанную окружность, то вся операция просто добавит сегменты, чтобы принудительно нарисовать линию до точки p1. Возможные причины, по которым вычисление может завершиться неудачно:
- Текущая траектория пуста.
- Отрезки
p0->p1->p2коллинеарны. - Текущее преобразование не обратимо, так что текущая конечная точка текущей траектории не может быть обработана для вычисления.
- Параметры:
-
x1— координата X первой точки дуги. -
y1— координата Y первой точки дуги. -
x2— координата X второй точки дуги. -
y2— координата Y второй точки дуги. -
radius— радиус дуги в диапазоне {0.0-положительная бесконечность}.
arc
public void arc(double centerX, double centerY, double radiusX, double radiusY, double startAngle, double length)
save() и restore().- Параметры:
-
centerX— центральная позиция x дуги. -
centerY— центральная позиция y дуги. -
radiusX— радиус x дуги. -
radiusY— радиус y дуги. -
startAngle— начальный угол дуги в диапазоне0-360.0 -
length— длина основания дуги.
rect
public void rect(double x, double y, double w, double h)
save() и restore().- Параметры:
-
x— позиция x левого верхнего угла прямоугольника. -
y— позиция y левого верхнего угла прямоугольника. -
w— ширина прямоугольника. -
h— высота прямоугольника.
appendSVGPath
public void appendSVGPath(String svgpath)
null или неправильная строка SVG Path будут проигнорированы. Координаты преобразуются текущим преобразованием при добавлении в траекторию и не зависят от последующих изменений преобразования. Текущая траектория — это атрибут траектории, используемый для любых методов траектории, как указано в таблице Атрибутов отрисовки, и не затрагивается операциями save() и restore().- Параметры:
-
svgpath— строка SVG Path.
closePath
public void closePath()
save() и restore().fill
public void fill()
Этот метод будет зависеть от любых атрибутов общих глобальных, заполнения или траектории, как указано в таблице Атрибутов отрисовки. Обратите внимание, что сегменты траектории были преобразованы при их первоначальном добавлении в текущую траекторию, поэтому текущее преобразование не повлияет на эти сегменты траектории снова, но может повлиять на другие атрибуты, активные во время операции fill().
stroke
public void stroke()
Этот метод будет зависеть от всех глобальных общих, обводки или пути атрибутов, как указано в Таблице атрибутов отрисовки. Обратите внимание, что сегменты пути были преобразованы, когда они были первоначально добавлены в текущий путь, поэтому текущее преобразование не повлияет на эти сегменты пути повторно, но может повлиять на другие атрибуты, действующие во время операции stroke().
clip
public void clip()
Этот метод сам будет зависеть только от атрибутов пути, как указано в Таблице атрибутов отрисовки. Обратите внимание, что сегменты пути были преобразованы, когда они были первоначально добавлены в текущий путь, поэтому текущее преобразование не повлияет на эти сегменты пути повторно, но может повлиять на другие атрибуты, действующие во время операции stroke().
isPointInPath
public boolean isPointInPath(double x, double y)
- Parameters:
-
x- координата X для проверки. -
y- координата Y для проверки. - Returns:
- true, если заданная точка находится внутри пути, иначе false.
clearRect
public void clearRect(double x, double y, double w, double h)
Этот метод будет зависеть только от текущего преобразования, области обрезки и эффектов.
- Parameters:
-
x- позиция X верхнего левого угла прямоугольника. -
y- позиция Y верхнего левого угла прямоугольника. -
w- ширина прямоугольника. -
h- высота прямоугольника.
fillRect
public void fillRect(double x, double y, double w, double h)
Этот метод будет зависеть от глобальных общих или заливки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- позиция X верхнего левого угла прямоугольника. -
y- позиция Y верхнего левого угла прямоугольника. -
w- ширина прямоугольника. -
h- высота прямоугольника.
strokeRect
public void strokeRect(double x, double y, double w, double h)
Этот метод будет зависеть от глобальных общих или обводки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- позиция X верхнего левого угла прямоугольника. -
y- позиция Y верхнего левого угла прямоугольника. -
w- ширина прямоугольника. -
h- высота прямоугольника.
fillOval
public void fillOval(double x, double y, double w, double h)
Этот метод будет зависеть от глобальных общих или заливки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- координата X левого верхнего угла овала. -
y- координата Y левого верхнего угла овала. -
w- ширина овала по центру. -
h- высота овала по центру.
strokeOval
public void strokeOval(double x, double y, double w, double h)
Этот метод будет зависеть от глобальных общих или обводки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- координата X левого верхнего угла овала. -
y- координата Y левого верхнего угла овала. -
w- ширина овала по центру. -
h- высота овала по центру.
fillArc
public void fillArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
null ArcType или не положительная ширина или высота приведут к игнорированию команды отрисовки. Этот метод будет зависеть от глобальных общих или заливки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- координата X дуги. -
y- координата Y дуги. -
w- ширина дуги. -
h- высота дуги. -
startAngle- начальный угол дуги в градусах. -
arcExtent- угловое расширение дуги в градусах. -
closure- тип замкнутости (Round, Chord, Open) или null.
strokeArc
public void strokeArc(double x, double y, double w, double h, double startAngle, double arcExtent, ArcType closure)
null ArcType или не положительная ширина или высота приведут к игнорированию команды отрисовки. Этот метод будет зависеть от глобальных общих или обводки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- координата X дуги. -
y- координата Y дуги. -
w- ширина дуги. -
h- высота дуги. -
startAngle- начальный угол дуги в градусах. -
arcExtent- arcExtent угловое расширение дуги в градусах. -
closure- тип замкнутости (Round, Chord, Open) или null
fillRoundRect
public void fillRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
Этот метод будет зависеть от глобальных общих или заливки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- координата X левого верхнего угла овала. -
y- координата Y левого верхнего угла овала. -
w- ширина овала по центру. -
h- высота овала по центру. -
arcWidth- ширина скругления углов прямоугольника. -
arcHeight- высота скругления углов прямоугольника.
strokeRoundRect
public void strokeRoundRect(double x, double y, double w, double h, double arcWidth, double arcHeight)
Этот метод будет зависеть от глобальных общих или обводки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x- координата X левого верхнего угла овала. -
y- координата Y левого верхнего угла овала. -
w- ширина овала по центру. -
h- высота овала по центру. -
arcWidth- ширина скругления углов прямоугольника. -
arcHeight- высота скругления углов прямоугольника.
strokeLine
public void strokeLine(double x1, double y1, double x2, double y2)
Этот метод будет зависеть от глобальных общих или обводки атрибутов, как указано в Таблице атрибутов отрисовки.
- Parameters:
-
x1- координата X начальной точки линии. -
y1- координата Y начальной точки линии. -
x2- координата X конечной точки линии. -
y2- координата Y конечной точки линии.
fillPolygon
public void fillPolygon(double[] xPoints, double[] yPoints, int nPoints)
null для любого из массивов будет проигнорировано, и ничего не будет нарисовано. Этот метод будет затронут любыми глобальными общими, заливкой или правилом заполнения атрибутами, как указано в Таблице атрибутов рендеринга.
- Parameters:
-
xPoints- массив, содержащий координаты x точек многоугольника или null. -
yPoints- массив, содержащий координаты y точек многоугольника или null. -
nPoints- количество точек, образующих многоугольник.
strokePolygon
public void strokePolygon(double[] xPoints, double[] yPoints, int nPoints)
null для любого из массивов будет проигнорировано, и ничего не будет нарисовано. Этот метод будет затронут любыми глобальными общими или атрибутами обводки, как указано в Таблице атрибутов рендеринга.
- Parameters:
-
xPoints- массив, содержащий координаты x точек многоугольника или null. -
yPoints- массив, содержащий координаты y точек многоугольника или null. -
nPoints- количество точек, образующих многоугольник.
strokePolyline
public void strokePolyline(double[] xPoints, double[] yPoints, int nPoints)
null для любого из массивов будет проигнорировано, и ничего не будет нарисовано. Этот метод будет затронут любыми глобальными общими или атрибутами обводки, как указано в Таблице атрибутов рендеринга.
- Parameters:
-
xPoints- массив, содержащий координаты x точек ломаной линии или null. -
yPoints- массив, содержащий координаты y точек ломаной линии или null. -
nPoints- количество точек, образующих ломаную линию.
drawImage
public void drawImage(Image img, double x, double y)
null изображения или изображение, которое еще обрабатывается, будет проигнорировано. Этот метод будет затронут любыми глобальными общими или атрибутами изображения, как указано в Таблице атрибутов рендеринга.
- Parameters:
-
img- изображение для отрисовки или null. -
x- координата X на целевом элементе для верхнего левого угла изображения. -
y- координата Y на целевом элементе для верхнего левого угла изображения.
drawImage
public void drawImage(Image img, double x, double y, double w, double h)
null изображения или изображение, которое еще обрабатывается, будет проигнорировано. Этот метод будет затронут любыми глобальными общими или атрибутами изображения, как указано в Таблице атрибутов рендеринга.
- Parameters:
-
img- изображение для отрисовки или null. -
x- координата X на целевом элементе для верхнего левого угла изображения. -
y- координата Y на целевом элементе для верхнего левого угла изображения. -
w- ширина прямоугольника назначения. -
h- высота прямоугольника назначения.
drawImage
public void drawImage(Image img, double sx, double sy, double sw, double sh, double dx, double dy, double dw, double dh)
null изображения или изображение, которое еще обрабатывается, будет проигнорировано. Этот метод будет затронут любыми глобальными общими или атрибутами изображения, как указано в Таблице атрибутов рендеринга.
- Parameters:
-
img- изображение для отрисовки или null. -
sx- координата X исходного прямоугольника. -
sy- координата Y исходного прямоугольника. -
sw- ширина исходного прямоугольника. -
sh- высота исходного прямоугольника. -
dx- координата X целевого прямоугольника. -
dy- координата Y целевого прямоугольника. -
dw- ширина целевого прямоугольника. -
dh- высота целевого прямоугольника.
getPixelWriter
public PixelWriter getPixelWriter()
PixelWriter, который может быть использован для изменения пикселей холста Canvas, связанного с этим GraphicsContext. Все координаты в методах PixelWriter возвращаемого объекта будут в пространстве устройства, так как они ссылаются напрямую на пиксели, и при изменении пикселей с помощью этого объекта не будут применяться никакие другие атрибуты рендеринга.- Returns:
- объект
PixelWriterдля изменения пикселей этогоCanvas
setEffect
public void setEffect(Effect e)
- Parameters:
-
e- эффект для использования, или null для отключения эффектов
getEffect
public Effect getEffect(Effect e)
- Parameters:
-
e- объектEffect, который может быть использован для хранения копии текущего эффекта, если он совместимого типа - Returns:
- текущий эффект, используемый для всех вызовов рендеринга, или null, если текущий эффект отсутствует
applyEffect
public void applyEffect(Effect e)
null будет проигнорировано. Эффект будет применён без каких-либо других атрибутов рендеринга и под преобразованием координат тождества. Поскольку эффект применяется ко всем границам холста, некоторые эффекты могут иметь непонятный результат, например, эффект Reflection, который будет применять своё отражение от нижней части холста, даже если только часть холста была отрисована и не будет видна, если не использовать отрицательное смещение, чтобы вернуть отражение в поле зрения.- Parameters:
-
e- эффект для применения к всему назначению или null.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.