【发布时间】:2015-01-06 17:29:51
【问题描述】:
我创建了一个画布元素。在这里,我从工具栏中拖放图像。现在我想获取图像,它相对于鼠标移动事件的位置。但无法获取图像。我只想在鼠标悬停在图像上时移动图像,而不是在鼠标位于画布边界内时移动图像。
我的代码示例:
$scope.moves = function () {
x = document.getElementById("canvasOne");
canvas = x.getContext("2d");
img = document.getElementById("gn");
x.addEventListener("dragenter", function (e) {
e.preventDefault();
}, false);
x.addEventListener("dragover", function (e) {
e.preventDefault();
}, false);
x.addEventListener("drop", droped, false);
};
function droped(e) {
var xpos = e.clientX;
var ypos = e.clientY;
canvas.drawImage(img, xpos, ypos);
}
function moving(e) {
canvas.clearRect(0, 0, x.width, x.height);
var xpos = e.clientX;
var ypos = e.clientY;
canvas.drawImage(img, xpos - 250, ypos - 250);
}
【问题讨论】:
-
您可以将图像的位置和尺寸保存在画布上,然后使用它。
标签: javascript html angularjs canvas