翻译 - 移动外部图像
查看这个jsfiddle
代码:
$(window).mousemove(function(event) {
$("#stcanvas").css({"left" : event.pageX, "top" : event.pageY});
});
CSS:
#stcanvas
{
position:absolute;
}
你显然需要添加一个按钮来启用移动功能。或者,你可以使用jQuery UI的内置拖放功能。
更新 - 移动剪辑
请参见此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-移动剪辑和内部图像
请参见此处的代码片段
如果您想移动图像和剪辑,那么基本上只需将moveXAmount和moveYAmount添加到drawImage中即可。希望我现在已经穷尽了所有可能性;)
ctx.drawImage(pic_image, -400 / 2+moveXAmount, -550 / 2+moveYAmount, im_width, im_height);
根据评论,更新3:移动图像而不是遮罩
请参见此处的代码片段
主要更改如下:
$("#stcanvas").mousedown(function(){
isDragging = true;
});
$(window).mouseup(function(){
isDragging = false;
});