我刚刚开始使用 Kinetic JS。
如果您查看此链接:示例
一些代码在这里:
function update(group, activeHandle) {
var topLeft = group.get(".topLeft")[0],
topRight = group.get(".topRight")[0],
bottomRight = group.get(".bottomRight")[0],
bottomLeft = group.get(".bottomLeft")[0],
image = group.get(".image")[0],
activeHandleName = activeHandle.getName(),
newWidth,
newHeight,
imageX,
imageY;
// Update the positions of handles during drag.
// This needs to happen so the dimension calculation can use the
// handle positions to determine the new width/height.
switch (activeHandleName) {
case "topLeft":
topRight.setY(activeHandle.getY());
bottomLeft.setX(activeHandle.getX());
break;
case "topRight":
topLeft.setY(activeHandle.getY());
bottomRight.setX(activeHandle.getX());
break;
case "bottomRight":
bottomLeft.setY(activeHandle.getY());
topRight.setX(activeHandle.getX());
break;
case "bottomLeft":
bottomRight.setY(activeHandle.getY());
topLeft.setX(activeHandle.getX());
break;
}
其余代码位于 jsdFiddle 链接中。我可能错过了一些明显的东西!
您将看到 2 个被锚点包围的图像。调整大小或拖动图像时,图像不得越过黑色矩形(即边界)。拖动工作 - 只要图像之前没有调整大小。
调整大小的图像仍然跨越边界。然后拖放调整大小的图像有时会创建自己的不可见边界(如果调整图像大小的人不使用右下角的锚来调整大小)。
谁能看到我做错了什么?
非常感谢您的帮助!