Как сделать так, чтобы источник на холсте JavaScript не зависел от его положения на странице? - PullRequest
0 голосов
/ 18 апреля 2020

Так что, если у меня есть страница с текстом, а затем холст, и я хочу нарисовать что-то в 0, 0, он не будет рисовать в углу холста, он будет рисовать на холсте (не видно) в в верхнем левом углу всей страницы. Есть ли способ, которым я мог бы сделать так, чтобы он получал только координаты на основе самого холста? Я получил это:

var ctx = canvas.getContext("2d");
var y_offset = 105;
var x_offset = 10;
canvas.width = window.innerWidth - (x_offset * 2);
canvas.height = window.innerHeight - (y_offset + 12);

Где x_offset 10 просто потому, что холст не может простираться до полного края, а y_offset 105 это потому, что элементы HTML над холстом растягиваются Высота 105 пикселей.

Когда я хочу нарисовать что-то в 0, 0, я просто рисую это в (x_offset, y_offset), и это отлично работает, хотя и немного утомительно. Однако, если кто-то изменяет размер своего окна, элементы HTML, которые у меня поплывают рядом друг с другом, переносятся на новую строку, которая толкает холст и портит мой y_offset, так что ничего не выводится правильно.

Есть ли способ сделать координаты одинаковыми независимо от того, где находится холст на странице?

РЕДАКТИРОВАТЬ: я полностью обманываю и забыл, что причина, по которой у меня возникла проблема, заключалась в том, что Я использую обработчик перемещения мыши, и положение мыши всегда относительно страницы, так что это не проблема холста, я полагаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...