CanvasRenderingContext2D: метод fillText()
Базовая линия Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Метод CanvasRenderingContext2D fillText(), являющийся частью API Canvas 2D, рисует строку текста в заданных координатах, заполняя символы строки текущим fillStyle. Необязательный параметр позволяет указать максимальную ширину рендерируемого текста, которую пользовательский агент достигнет, уплотняя текст или уменьшая размер шрифта.
Этот метод рисует непосредственно на холсте без изменения текущей траектории, поэтому последующие вызовы fill() или stroke() не повлияют на него.
Текст рендерится с использованием настроек шрифта и вывода текста, определённых свойствами font, textAlign, textBaseline и direction.
Примечание: Чтобы нарисовать контуры символов в строке, вызовите метод контекста strokeText().
Синтаксис
fillText(text, x, y) fillText(text, x, y, maxWidth)
Параметры
text-
Строка, определяющая строку текста для рендеринга в контексте. Текст рендерится с настройками, заданными
font,textAlign,textBaselineиdirection. x-
Координата x на оси, с которой нужно начать рисовать текст, в пикселях.
y-
Координата y базовой линии, с которой нужно начать рисовать текст, в пикселях.
maxWidthНеобязательно-
Максимальное количество пикселей по ширине, которое может занимать текст после рендеринга. Если не указано, ширина текста не ограничена. Однако, если это значение указано, пользовательский агент скорректирует кернинг, выберет более горизонтально уплощенный шрифт (если такой доступен или может быть сгенерирован без потери качества) или уменьшит размер шрифта, чтобы текст поместился в указанную ширину.
Возвращаемое значение
None (undefined).
Примеры
Вывод заполненного текста
В этом примере выводится фраза "Hello world" с помощью метода fillText().
HTML
Сначала нам нужен холст для рисования. Этот код создает контекст шириной 400 пикселей и высотой 150 пикселей.
<canvas id="canvas" width="400" height="150"></canvas>
JavaScript
JavaScript-код для этого примера представлен ниже.
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.font = "50px serif";
ctx.fillText("Hello world", 50, 90);
Этот код получает ссылку на <canvas>, а затем получает ссылку на его контекст 2D-графики.
После этого мы устанавливаем font на "serif" высотой 50 пикселей (стандартный шрифт с засечками пользователя), а затем вызываем fillText() для вывода текста "Hello world" с начала координат (50, 90).
Результат
Ограничение размера текста
В этом примере выводится фраза "Hello world", ограничивая её ширину 140 пикселями.
HTML
<canvas id="canvas" width="400" height="150"></canvas>
JavaScript
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.font = "50px serif";
ctx.fillText("Hello world", 50, 90, 140);
Результат
Спецификации
| Спецификация |
|---|
| HTML # dom-context-2d-filltext-dev |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
fillText |
2 | 12 | 3.5 | ≤12.1 | 4 | 18 | 4 | ≤12.1 | 3.2 | 1.0 | ≤37 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/fillText