Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2015, 03:22
Аспирант
Отправить личное сообщение для ВэйДлин Посмотреть профиль Найти все сообщения от ВэйДлин
 
Регистрация: 07.04.2010
Сообщений: 72

График на canvas
Возможно ли на canvas реализовать
1. Полотно с сеткой на фоне (клеточки)
2. Мне надо знать позицию курсора относительно полотна и выводить её в хинте над мышкой
3. При клике на полотно появляется точка координаты которой мы точно знаем и можем получить из вне
4. При повторном клике на эту точку она исчезает

Сроки поджимают, желание глубоко изучать canvas сейчас нет, как и времени,
так что нагло прошу список методов или в лучшем случае простой пример хотя бы для одного пункта
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2015, 03:25
Интересующийся
Отправить личное сообщение для Noobloid Посмотреть профиль Найти все сообщения от Noobloid
 
Регистрация: 16.01.2015
Сообщений: 23

курсовик поджимает?
<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>

Последний раз редактировалось Noobloid, 17.01.2015 в 04:01.
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2015, 07:30
Аспирант
Отправить личное сообщение для ВэйДлин Посмотреть профиль Найти все сообщения от ВэйДлин
 
Регистрация: 07.04.2010
Сообщений: 72

Скорее диплом х)

Теперь остался ещё один основной вопрос, как поставить точку и записать её местоположение и в любой момент стереть её
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2015, 09:22
Профессор
Отправить личное сообщение для caetus Посмотреть профиль Найти все сообщения от caetus
 
Регистрация: 23.09.2014
Сообщений: 197

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)
Ответить с цитированием
  #5 (permalink)  
Старый 18.01.2015, 06:28
Аспирант
Отправить личное сообщение для ВэйДлин Посмотреть профиль Найти все сообщения от ВэйДлин
 
Регистрация: 07.04.2010
Сообщений: 72

Да, но на фоне решетка, она тоже сотрется, а её трогать не надо, как тут поступить?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Повтор фото (getUserMedia(),HTML5 Canvas) aspex Элементы интерфейса 1 27.12.2014 16:46
Canvas картинка с обесцвечиванием. cheba Общие вопросы Javascript 9 31.05.2013 09:13
canvas и drawImage() jussik Элементы интерфейса 0 27.10.2012 16:57
Создание экземпляра Canvas не затрагивая HTML Tails Общие вопросы Javascript 2 09.03.2012 13:55
Добавить на canvas еще один елемент greengarlic Общие вопросы Javascript 5 22.09.2010 10:16