Конва JS | Неправильное положение формы - PullRequest
0 голосов
/ 08 мая 2020

У меня проблема о том, как расположить фигуру в соответствии с координатами 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()
        });

, но описанный выше метод не работает, положение формы не соответствует исходному положению.

Я понятия не имею об этой проблеме, любые предложения или помощь будут признательны.

...