Суть проблемы: рисую линии на холсте, по клику мышки. Весь холст очищаю clearRect(). Если, после этого, нарисовать еще линию, то появляются все нарисованные ранее. Такое ощущение, что clearRect() просто закрашивает линии белым, а не удаляет их.
var context = canvas.getContext("2d");
var coords = [];//массив для хранения координат мыши первого клика
canvas.onclick = function(event){
var x = event.offsetX;
var y = event.offsetY;
if (coords.length == 0) {
coords.push(x);
coords.push(y);
console.log("Первый клик:", coords);
} else {
console.log("Второй клик:", coords);
context.moveTo(coords[0], coords[1]);
context.lineTo(x,y);
context.stroke();
}
}
var clear = document.getElementById("clear");
clear.onclick = function(){
var context = canvas.getContext("2d");
context.clearRect(0,0,250,380);
coords.splice(0,coords.length);
console.log("Очистка ",coords);
}
<canvas id="canvas" width="250" height="380"></canvas>
<button type="button" id="clear">Очистить</button>
Как очистить холст навсегда?
Потому что контур надо закрывать за собой: https://developer.mozilla.org/ru/docs/Web/API/CanvasRenderingContext2D/closePath
var context = canvas.getContext("2d");
var coords = [];//массив для хранения координат мыши первого клика
canvas.onclick = function(event){
var x = event.offsetX;
var y = event.offsetY;
if (coords.length == 0) {
coords.push(x);
coords.push(y);
//console.log("Первый клик:", coords);
} else {
//console.log("Второй клик:", coords);
context.beginPath();
context.moveTo(coords[0], coords[1]);
context.lineTo(x,y);
context.stroke();
context.closePath();
}
}
var clear = document.getElementById("clear");
clear.onclick = function(){
context.clearRect(0,0,250,380);
coords.splice(0,coords.length);
//console.log("Очистка ",coords);
}
<button type="button" id="clear">Очистить</button>
<canvas id="canvas" width="250" height="380"></canvas>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Доброго времени сутокПроблема вот в чём, жил был файл js в командном проекте visual studio TFS, и вдруг захожу утром в vs, а файл перестал открыватся...
Возникла задача спарсить с одного сайта галерею, которая формируется через jsПредыдущие вещи парсил через JSOUP, но со скриптами он не работает
Делаю вызов попапа при вводе в Input каких то символов, для этого использую событие keyup или keypress без разницыНо непосредственно при вводе с клавиатуры...