2015-11-05 2 views
0

Мне было интересно, как я могу «рисовать» с изображением (пример показан ниже) с использованием Javascript и холста? «Рисовать» в том смысле, что изображение будет следовать за мышью и многократно помещать себя каждый раз, когда мышь меняет положение.Как нарисовать с помощью видео с помощью html-canvas tag?

EDIT: Хорошо, поэтому сузить свой вопрос. В принципе, мне интересно, как мне «рисовать» изображение с помощью тега canvas? Как бы я «рисовал» видеообъект?

enter image description here

+0

_ «» Draw «в том смысле, что изображение будет следовать за мышью и повторно поставить перед собой каждый раз, когда мышь меняет позицию.» _ Постоянно добавлять новое изображение к документу, или одного Изображение следует за курсором? – guest271314

+0

Глядя на эскиз выше, чего я хочу достичь, я бы сказал, что он постоянно создает новый объект изображения (хотя он должен быть одного изображения), а затем помещать его. – ooohfff

+0

Когда я упоминаю курсор, я имею в виду, что он будет помещен в местоположение курсора. – ooohfff

ответ

1

Это довольно прямо вперед:

  • Загрузить изображение
  • Получить Coords вашей мыши
  • Нарисуйте изображение на этих координатам
  • Используйте CSS для позиционирования элементов вашего

Главное, чтобы не очистить свой холст.

canvas.onmousemove = draw; 
 
var ctx = canvas.getContext('2d'); 
 
var img = new Image; 
 
img.src = 'http://lorempixel.com/50/50?'+Math.random(); 
 
function draw(e){ 
 
    var rect = canvas.getBoundingClientRect(); 
 
    var x = e.clientX-rect.left-img.width/2; 
 
    var y = e.clientY-rect.top-img.height/2; 
 
    ctx.drawImage(img, x, y, img.width, img.height); 
 
    }
canvas{position: absolute; z-index:1;} 
 
#up{z-index:2; background-color:rgba(125,0,125,.5);} 
 
p{position: relative; background-color:rgba(0,125,125,.5); color:#ccc}
<canvas id="canvas" width=500 height=500></canvas> 
 
<p id="up">There is something behind me</p> 
 
<p id="down">There is something above me</p>

Смежные вопросы