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)
  • 블로그 메뉴

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

  • 공지사항

    • ※ 예전 블로그
  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바