Canvas tutorial #5 (Shapes)

2020. 4. 6. 19:57·개발/Canvas
728x90

※ 이 글은 예전 블로그에서 퍼왔으며 2020.3.4.에 작성된 글입니다.

※ 이 글은 해당사이트를 번역한 것입니다.


Custom Shape

closePath( )를 사용하여 custom shape를 만들수 있다. Custom shape를 만들기 위한 각각의 하위경로를 만들기 위해 lineTo( )나 arcTo( ), quadraticCurveTo( ), bezierCurveTo( )를 사용할 수 있다.

ex) 구름모양 코드
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');

// begin custom shape
context.beginPath();
context.moveTo(170, 80);
context.bezierCurveTo(130, 100, 130, 150, 230, 150);
context.bezierCurveTo(250, 180, 320, 180, 340, 150);
context.bezierCurveTo(420, 150, 420, 120, 390, 100);
context.bezierCurveTo(430, 40, 370, 30, 340, 50);
context.bezierCurveTo(320, 5, 250, 20, 250, 50);
context.bezierCurveTo(200, 5, 150, 20, 170, 80);

// complete custom shape
context.closePath();
context.lineWidth = 5;
context.strokeStyle = 'blue';
context.stroke();

Rectangle(사각형)

사각형을 만들기 위해 4개의 선을 이어 모양을 만들기 보다 rect( )를 사용할 수 있다.

HTML5Canvas의 사각형은 x, y 매개변수로 배치되고 width와 height 매개변수로 크기가 조정된다.

context.rect(x, y, width, height);

Circle(원)

원을 만들기 위해 arc( )를 사용할 수 있다.

시작 각도를 0, 종료 각도를 2π​로 정의하여 완전한 원를 그릴 수 있다.

context.arc(centerX, centerY, radius, 0, 2 * Math.PI, antiClockwise);
// antiClockwise: 이 속성은 default 값으로 false를 가지게 되고 호를 시계 방향으로 그린다.

Semi Circle(반원)

반원을 만들기 위해 arc( )를 사용할 수 있다.

시작 각도를 0, 종료 각도를 π​로 정의하여 반원을 그릴 수 있다.

context.arc(centerX, centerY, radius, 0, Math.PI, antiClockwise);
// antiClockwise: 이 속성은 default 값으로 false를 가지게 되고 호를 시계 방향으로 그린다.
저작자표시

'개발 > Canvas' 카테고리의 다른 글

Canvas tutorial #7 (Images)  (0) 2020.04.06
Canvas tutorial #6 (Fill Styles)  (0) 2020.04.06
Canvas tutorial #4 (Paths)  (0) 2020.04.06
Canvas tutorial #3 (Curves)  (0) 2020.04.06
Canvas tutorial #2 (Lines)  (0) 2020.04.06
'개발/Canvas' 카테고리의 다른 글
  • Canvas tutorial #7 (Images)
  • Canvas tutorial #6 (Fill Styles)
  • Canvas tutorial #4 (Paths)
  • Canvas tutorial #3 (Curves)
기짜낭
기짜낭
생각이 많지만, 지금 내가 해야할 것을 하자.
  • 기짜낭
    So tired
    기짜낭
    • 분류 전체보기 (199)
      • 개발 (11)
        • Javascript (19)
        • Typescript (5)
        • Canvas (8)
        • React (13)
        • C (3)
      • 활동 (63)
        • 개인 프로젝트 (33)
        • 나눔 서포터즈 3기 (9)
        • 멋쟁이 사자처럼 (7)
        • 0&1 C++ 자료구조 스터디 (0)
        • 제 9회 창업 아이디어톤 (3)
        • Poom (ZeroWasteShop) (3)
        • 해커톤 (2)
        • 우테코 프리코스 7기 (6)
      • 알고리즘 (27)
        • 알고리즘 정리 (5)
        • 백준 (18)
        • 프로그래머스 (4)
      • 강연 (7)
      • 독서 (18)
      • 회고 & 생각 (16)
        • 연간회고 (4)
      • 기타 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • ※ 예전 블로그
  • 인기 글

  • 태그

    1주 1권
    타입스크립트
    한양대학교
    개발자
    독후감
    대학
    개발
    HTML
    프로그래밍
    에리카
    ES6
    프로젝트
    TypeScript
    Javascript
    알고리즘
    독서
    react
    우테코
    개념
    CSS
    1주에 1권씩
    tutorial
    3기
    canvas
    백준
    HTML5
    군대
    프론트엔드
    Erica
    디자인
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
기짜낭
Canvas tutorial #5 (Shapes)
상단으로

티스토리툴바