原始 - 移动外部图像
看到这个jsfiddle
代码:
$(window).mousemove(function(event) {
$("#stcanvas").css({"left" : event.pageX, "top" : event.pageY});
});
css:
#stcanvas
{
position:absolute;
}
您显然会添加一个按钮来启用移动。或者,您可能希望使用 jquery UI 进行内置拖放。
更新 - 移动剪辑
见this jsfiddle。
如果您的意思是要移动剪辑而不是图像,请执行以下操作:
$(window).mousemove(function(event) {
var cWidth = $("#stcanvas").width();
moveXAmount = (event.pageX / $(window).width())*cWidth;
moveXAmount = moveXAmount - (cWidth/2);
var cHeight = $("#stcanvas").height();
moveYAmount = (event.pageY / $(window).height())*cHeight;
moveYAmount = moveYAmount - (cHeight/2);
buildcanvas();
});
在make_pic 中这样做:
ctx.drawImage(mask_image, moveXAmount, moveYAmount);
更新 2 - 移动剪辑和内部图像
见this fiddle
如果你想移动图像和剪辑,那么,基本上你只需将 moveXAmount 和 moveYAmount 添加到 drawImage。希望我现在已经用尽了所有可能性;)
ctx.drawImage(pic_image, -400 / 2+moveXAmount, -550 / 2+moveYAmount, im_width, im_height);
更新 3 移动图像,而不是根据评论遮罩
见this fiddle
主要变化是:
$("#stcanvas").mousedown(function(){
isDragging = true;
});
$(window).mouseup(function(){
isDragging = false;
});