График на canvas
Возможно ли на canvas реализовать
1. Полотно с сеткой на фоне (клеточки) 2. Мне надо знать позицию курсора относительно полотна и выводить её в хинте над мышкой 3. При клике на полотно появляется точка координаты которой мы точно знаем и можем получить из вне 4. При повторном клике на эту точку она исчезает Сроки поджимают, желание глубоко изучать canvas сейчас нет, как и времени, так что нагло прошу список методов или в лучшем случае простой пример хотя бы для одного пункта |
курсовик поджимает? :write:
<canvas id="myCan" width="500" height="500" style="border: 2px solid #000000"></canvas>
<button type="button" onclick="drawgrid()">Нарисовать решотку</button>
<button type="button" onclick="clearGrid()">Стереть решотку</button>
<p>Мыша: <span id="x">0</span></p>
<p> <span id="y">0</span></p>
<hr>
</div>
<script>
var can = document.getElementById('myCan');
var ctx = can.getContext('2d');
var step = 20;//шаг решотки
//рисуем
function drawgrid(){
for (var i = step; i<can.width; i+=step){//рисуем вертикальные
ctx.beginPath();
ctx.moveTo(i, 0);
ctx.lineTo(i, can.height);
ctx.closePath();
ctx.stroke();
}
for (var i = step; i<can.height; i+=step){//рисуем Горизонтальные
ctx.beginPath();
ctx.moveTo(0, i);
ctx.lineTo(can.width, i);
ctx.closePath();
ctx.stroke();
}
}
//стираем
function clearGrid(){
ctx.clearRect(0, 0, can.width, can.height);
}
//мыша
can.addEventListener('mousemove', function(evt){
document.getElementById('x').innerHTML = evt.pageX;
document.getElementById('y').innerHTML = evt.pageY;
});
</script>
|
Скорее диплом х)
Теперь остался ещё один основной вопрос, как поставить точку и записать её местоположение и в любой момент стереть её |
var canvas = document.getElementById('canvas'),
ctx = canvas.getContent('2d');
canvas.addEventListener('click', fn, false);
function fn (e) {
var x = e.pageX - canvas.offsetLeft, y = e.pageY - canvas.offsetTop;
}
стереть можно разными способами , например
ctx.fillRect(x, y, w,h)
|
Да, но на фоне решетка, она тоже сотрется, а её трогать не надо, как тут поступить?
|
| Часовой пояс GMT +3, время: 03:15. |