Как сделать закругленные углы на многоугольнике с помощью кинетики

Я использую kineticjs сделать некоторую графику HTML5, и я хотел бы сделать закругленный угол на многоугольнике. Как я могу это сделать? На данный момент у меня есть этот многоугольник:

var poly = new Kinetic.Polygon({
            points: [50, 100, 180, 100, 180, 120, 200, 120, 200, 180, 50, 180, 50, 100],
            fill: '#00D2FF',
            stroke: 'black',
            strokeWidth: 1
        });

Обратите внимание, что я хочу, чтобы нижний левый угол был закругленным углом с радиусом 10. Как я могу это сделать?

1 ответ

Решение

Используйте вместо этого Kinect.Shape

var poly = new Kinetic.Shape({
    drawFunc: function(canvas) {
        var context = canvas.getContext();
        var radius=10;
        context.beginPath();
        context.moveTo(50, 100);
        context.lineTo(180, 100);
        context.lineTo(180, 120);
        context.lineTo(200, 120);
        context.lineTo(200, 180);
        //context.lineTo(50, 180);
        context.arcTo(50, 180, 50, 180-radius, radius);
        context.closePath();
        canvas.fillStroke(this);
    },
    fill: '#00D2FF',
    stroke: 'black',
    strokeWidth: 1
});
Другие вопросы по тегам