我是新的HTML5。 我必须实现这样的功能,我希望图像从外部放入画布内,然后在画布内可见边界,并且图像可以从一个边界移动到另一个边界。它与以下链接中的相同, http://custom.case-mate.com/diy?bypassLandingPage=true在HTML5画布中拖放多个边界内的图像
由于在该网站中,用户选择图案并将图像拖入该图像。然后他可以在边界之间拖动图像。请给出一些解决方案来实现这样的功能。
以下是我已经试过了,
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
margin: 0px;
padding: 0px;
}
canvas {position:relative;
left:150%;
border: 10px solid #9C9898;
background-color: grey;
}
</style>
<script src="http://www.html5canvastutorials.com/libraries/kinetic-v3.10.0.js"></script>
<script>
window.onload = function() {
var stage = new Kinetic.Stage({
container: "container",
width: 300,
height: 400,
});
var layer = new Kinetic.Layer();
var redLine = new Kinetic.Line({
points: [150, 0, 150, 400],
stroke: "white",
strokeWidth: 2,
});
var blueLine = new Kinetic.Line({
points: [150, 0, 150, 120, 300, 120],
stroke: "white",
strokeWidth: 2,
});
var thirdLine = new Kinetic.Line({
points: [300, 120, 150, 120, 150, 400],
stroke: "white",
strokeWidth: 2,
});
var imageObj = new Image();
imageObj.onload = function() {
var image = new Kinetic.Image({
x: stage.getWidth()/2 - 50,
y: stage.getHeight()/2 - 60,
image: imageObj,
width: 100,
height: 120,
});
image.draggable(true);
layer.add(image);
// add the layer to the stage
stage.add(layer);
};
imageObj.src = "images/212.png";
layer.add(redLine);
layer.add(blueLine);
layer.add(thirdLine);
stage.add(layer);
};
</script>
</head>
<body>
<div id="container"></div>
</body>
</html>
这个[popular demo](http://html5demos.com/drag)包含了拖动的对象是链接(可能包含图像)时所需的全部内容。在大多数浏览器(不是IE)中,这也适用于任何类型的可拖动对象(不仅是链接)。 – 2012-07-10 10:29:00
请发布您迄今为止尝试过的代码,并描述您遇到的具体问题。 – robertc 2012-07-10 11:40:51
我在画布上绘制了线条,这些线条可以用作图像拖动的边界。除了我所尝试过的,我还想要一些想法。如果您有任何想法实现上述URL中的确切功能,请点击帮助!我想要一些想法开始。 – MJQ 2012-07-10 11:59:50