Я реализую инструмент «Карандаш» в своем коде с использованием HTML и JS, все, что мне нужно, это иметь возможность рисовать на холсте.
Во-первых, я понял, что для рисования мне нужен контекст холста и использовать его методы (beginPath, moveTo, lineTo и Stroke) для рисования в контексте через контекст холста.
Моя проблема в том, что при рисовании линии я получаю несколько линий из моей последней точки мышь на моем холсте в любую текущую точку мыши на холсте.
Прочитав это, мне все еще трудно найти решение этой проблемы.
HTML
BlaqdPad - Import, Edit, Draw, Share!
Select
Import
Pencil
New Canva
Download
Settings
JavaScript
const canvas = document.querySelector(".cnv-layer");
const pencilTool = document.querySelector(".pencil");
pencilTool.addEventListener("click", () => {
activeTool = "pencil";
canvas.style.pointerEvents = "auto";
// pencilTool.style.backgroundColor = "blanchedalmond";
});
//Pencil Tool
const context = canvas.getContext("2d");
// console.log(context);
let isDrawing = false;
let lastX = 0;
let lastY = 0;
canvas.addEventListener("mousedown", (e) => {
if (activeTool !== "pencil") return;
isDrawing = true;
lastX = e.offsetX;
lastY = e.offsetY;
});
canvas.addEventListener("mousemove", (e) => {
if (activeTool !== "pencil" || !isDrawing) return;
context.beginPath();
context.lineWidth = 3
context.moveTo(lastX, lastY);
context.lineTo(e.offsetX, e.offsetY);
context.stroke();
})
Подробнее здесь: https://stackoverflow.com/questions/798 ... ltaneously
Инструмент «Карандаш», создающий несколько линий одновременно ⇐ Javascript
Форум по Javascript
-
Anonymous
1771161634
Anonymous
Я реализую инструмент «Карандаш» в своем коде с использованием HTML и JS, все, что мне нужно, это иметь возможность рисовать на холсте.
Во-первых, я понял, что для рисования мне нужен контекст холста и использовать его методы (beginPath, moveTo, lineTo и Stroke) для рисования в контексте через контекст холста.
Моя проблема в том, что при рисовании линии я получаю несколько линий из моей последней точки мышь на моем холсте в любую текущую точку мыши на холсте.
Прочитав это, мне все еще трудно найти решение этой проблемы.
[b]HTML[/b]
BlaqdPad - Import, Edit, Draw, Share!
[i][/i]
Select
[i][/i]
Import
[i][/i]
Pencil
[i][/i]
New Canva
[i][/i]
Download
[i][/i]
Settings
[b]JavaScript[/b]
const canvas = document.querySelector(".cnv-layer");
const pencilTool = document.querySelector(".pencil");
pencilTool.addEventListener("click", () => {
activeTool = "pencil";
canvas.style.pointerEvents = "auto";
// pencilTool.style.backgroundColor = "blanchedalmond";
});
//Pencil Tool
const context = canvas.getContext("2d");
// console.log(context);
let isDrawing = false;
let lastX = 0;
let lastY = 0;
canvas.addEventListener("mousedown", (e) => {
if (activeTool !== "pencil") return;
isDrawing = true;
lastX = e.offsetX;
lastY = e.offsetY;
});
canvas.addEventListener("mousemove", (e) => {
if (activeTool !== "pencil" || !isDrawing) return;
context.beginPath();
context.lineWidth = 3
context.moveTo(lastX, lastY);
context.lineTo(e.offsetX, e.offsetY);
context.stroke();
})
Подробнее здесь: [url]https://stackoverflow.com/questions/79889651/pencil-tool-creating-multiple-lines-simultaneously[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия