У меня проблема о том, как расположить фигуру в соответствии с координатами x и y.
Я пробовал следующее:
var shapes = JSON.parse('<%=jsonArray%>');
for (var i = 0; i < shapes.length; i ++ ){
var shape = shapes[i];
var scale = 1;
console.log(shape.type)
var date = shape.id;
var rectangle = new Konva.Rect({
numPoints: 5,
innerRadius: 30,
outerRadius: 50,
fill: "#89b717",
opacity: 0.8,
draggable: true,
name: '-RECTANGLE',
width: 128,
id: date,
height: 50,
scale: {
x: scale,
y: scale
},
shadowColor: "black",
shadowBlur: 4,
shadowOffset: {
x: 5,
y: 5
},
shadowOpacity: 0.6,
// custom attribute
startScale: scale
});
rectangle.setOffset({
x: rectangle.width() / 2,
y: rectangle.height() / 2
});
rectangle.absolutePosition ({
x: parseInt(shape.x),
y: parseInt(shape.y)
});
}
и способ сохранения положения:
stage.on("dragend", function(evt) {
var shape = evt.target;
// CLEAR: update nilai posisi x
elementX.value = shape.x();
// CLEAR: update nilai posisi y
elementY.value = shape.y();
// CLEAR: update nilai shape id
elementID.value = shape.id();
elementShapeType.value = shape.name();
shape.moveTo(layer);
stage.draw()
});
, но описанный выше метод не работает, положение формы не соответствует исходному положению.
Я понятия не имею об этой проблеме, любые предложения или помощь будут признательны.