Canvas에서 오각형을 쓰다

Canvas에서 오각형을 쓰는 스크립트를 썼다.

어떻게 5개의 좌표를 나누는지 머리를 비틀었지만, 원을 5분할하면 좌표가 나오면 그려져 있을 정도로 무릎을 꿇었다. 수학 관련 서랍이 너무 적기 때문에 이런 일이 일어난다. 수학도 다시 공부하고 싶다.

createStar.js
createStar("test",150,100,50,"yellow");

function createStar(selector,x,y,r,color){
    //五芒星の時の角度
    var c1 = createCordinate(r,-90);
    var c2 = createCordinate(r,-234);
    var c3 = createCordinate(r,-18);
    var c4 = createCordinate(r,-162);
    var c5 = createCordinate(r,-306);

    var canvas = document.getElementById(selector);

    if(canvas == null){
        canvas = document.getElementsByClassName(selector)
    }

    var context = canvas.getContext('2d');
    context.fillStyle = color;
    context.lineWidth = 0;

    context.beginPath();
    context.moveTo(x,y-r);
    context.lineTo(c1.x + x, c1.y + y);
    context.lineTo(c2.x + x, c2.y + y);
    context.lineTo(c3.x + x, c3.y + y);
    context.lineTo(c4.x + x, c4.y + y);
    context.lineTo(c5.x + x, c5.y + y);
    context.closePath();

    context.fill();
    //context.stroke();

    function createCordinate(r,angle){
        var x = r * Math.cos(angle / 180 * Math.PI);
        var y = r * Math.sin(angle / 180 * Math.PI);

        return {
            "x" : x,
            "y" : y
        };
    }
}

이런 것이 쉽게 그릴 수 있습니다.



빨간색 배경에 노란색 별을 그리는 그냥 베트남 국기의 완성.

jsdoit에 있습니다.
htp : // js. t/토마토 360/rfgJ

좋은 웹페이지 즐겨찾기