我正在努力让kineticjs失效并找出一个小应用程序,这使我的图像可拖动和可调整大小。到目前为止一切顺利;
但是:我想要一个在中心有一个可变高度/宽度块的叠加层,它应该显示下面的图像(可拖动/可调整大小完整)和半透明叠加层。
我希望能够在叠加层仍然完整时仍然可以在叠加层后面调整大小/拖动(像这样,但是使用kineticjs:http://envyum.nl/pointer/)
有没有办法这样做?通过从一个重叠的矩形中切出一个块也许?并且鼠标可以忽略覆盖,例如pointer-events: none
可以在css3中吗?
提前致谢,
答案 0 :(得分:1)
我在上面的评论中有一个我正在讨论的样本:http://jsfiddle.net/KwQBB/
这不需要新的图层,但这样做可能是一种好习惯。
您可以根据需要定制逻辑,尤其是模拟“剪切”
var stage = new Kinetic.Stage({
container: 'container',
width: 578,
height: 500
});
var layer = new Kinetic.Layer();
var pentagon = new Kinetic.RegularPolygon({
x: stage.getWidth() / 2,
y: stage.getHeight() / 2,
sides: 5,
radius: 70,
fill: 'red',
stroke: 'black',
strokeWidth: 4,
draggable: true,
dragOnTop: false
});
var rect1 = new Kinetic.Rect({ // overlay
x: 0,
y: 0,
width: stage.getWidth(),
height: 100,
fill: 'gray',
opacity: 0.5,
listening: false // <------ Extremely important
});
var rect2 = new Kinetic.Rect({ // overlay
x: 0,
y: stage.getHeight()/2,
width: stage.getWidth(),
height: 100,
fill: 'gray',
opacity: 0.5,
listening: false // <------ Extremely important
});
// add the shape to the layer
layer.add(pentagon);
layer.add(rect1);
layer.add(rect2); // add more rectangles to complete overlay
// add the layer to the stage
stage.add(layer);