Spec-Zone.ru › Web APIs

CanvasRenderingContext2D: свойство lineDashOffset

Базовая линия Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство CanvasRenderingContext2D.lineDashOffset API Canvas 2D задаёт смещение пунктирной линии, или «фазу».

Примечание: Линии рисуются с помощью метода stroke().

Значение

Число с плавающей точкой, определяющее величину смещения пунктирной линии. Значение по умолчанию — 0.0.

Примеры

Смещение пунктирной линии

В этом примере рисуются две пунктирные линии. Первая не имеет смещения, а вторая имеет смещение 4.

HTML

<canvas id="canvas"></canvas>

JavaScript

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");

ctx.setLineDash([4, 16]);

// Dashed line with no offset
ctx.beginPath();
ctx.moveTo(0, 50);
ctx.lineTo(300, 50);
ctx.stroke();

// Dashed line with offset of 4
ctx.beginPath();
ctx.strokeStyle = "red";
ctx.lineDashOffset = 4;
ctx.moveTo(0, 100);
ctx.lineTo(300, 100);
ctx.stroke();

Результат

Красная линия с смещением пунктирной линии.

Муравьиный марш

Эффект «муравьиный марш» — это техника анимации, часто используемая в инструментах выделения программ компьютерной графики. Он помогает пользователю отличить границу выделения от фона изображения, анимируя границу.

const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
let offset = 0;

function draw() {
  ctx.clearRect(0, 0, canvas.width, canvas.height);
  ctx.setLineDash([4, 2]);
  ctx.lineDashOffset = offset;
  ctx.strokeRect(10, 10, 100, 100);
}

function march() {
  offset++;
  if (offset > 5) {
    offset = 0;
  }
  draw();
  setTimeout(march, 20);
}

march();

Спецификации

Спецификация
HTML
# dom-context-2d-linedashoffset-dev

Совместимость с браузерами

Рабочий стол Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet WebView Android
lineDashOffset 23 12 277 15 7 25 277 14 7 1.5 4.4

См. также

  • Интерфейс, определяющий это свойство: CanvasRenderingContext2D
  • CanvasRenderingContext2D.getLineDash()
  • CanvasRenderingContext2D.setLineDash()
  • Применение стилей и цветов

© 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/lineDashOffset

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API