HTML5 캔버스를 사용하여 도로 선을 만드는 방법

비누 세바스티안

캔버스를 사용하여 도로를 만들었습니다. 중간에 선을 추가하고 싶습니다. 또한 선 사이의 너비, 높이 및 간격도 이에 따라 증가해야합니다.

<canvas id="myCanvas" width="578" height="500"></canvas>

  var canvas = document.getElementById('myCanvas');
  var context = canvas.getContext('2d');

  var j = 0;
    for(var i = canvas.height*.30; i< canvas.height; i=i+20){
        context.beginPath();
        context.rect(canvas.width*.50, i-j, 3+j, 10+(j*2));
        context.fillStyle = '#000000';
        context.fill();
        j++;
    }

하지만 위의 코드로는 만들 수 없었습니다. 이 문제를 해결하도록 도와주세요. jsfiddle

아치

업데이트 됨 : 다음 솔루션은 각 선의 기울기도 고려하므로 사각형을 그리지 않고 대신 다각형이 사용됩니다. 여기 바이올린 : https://jsfiddle.net/tcdLf0xu/4/

var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
context.clearRect(0,0,canvas.width,canvas.height);
var j = 0;
var y = 0;
    for(var j = 1; y < canvas.height; j++){

        context.beginPath();
        spacing = 2.5
        w = j+1;
        h = 4*w;
        x = canvas.width*.50 - w/2;
        y = y + spacing*h;  
        context.rect(x,y ,w,h );
        context.moveTo(x,y);
        context.lineTo(x+w,y);
        context.lineTo(x+w+1/spacing,y+h);
        context.lineTo(x-1/spacing,y+h);
        context.lineTo(x,y);
        context.closePath();
        context.fillStyle = '#000000';
        context.fill(); 

    }

디자인을 개선하기 위해 각 변수가 수행하는 작업을 이해하는 것이 중요합니다.

  • j는 선형 적으로 증가하고 키가 y에 도달 할 때까지 카운터 일뿐입니다.
  • w, 너비는 j가 반복 될 때마다 선형 적으로 증가합니다.
  • h, 높이는 항상 너비의 5 배입니다 (원하는 경우 해당 요소를 변경).
  • x에서 위치는 중심에서 너비의 절반만큼 오프셋됩니다.
  • y, 공백을 효율적으로 수용하기 위해 높이의 배수가 될 것입니다. 2.5로 사용했지만 조정할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HTML5 캔버스에서 사용자 정의 선의 선 너비를 만드는 방법

분류에서Dev

html5 캔버스를 배경으로 사용하여 CSS를 사용하여 YouTube 삽입을 그 위에 배치하여 해상도에 독립적이되도록하는 방법은 무엇입니까?

분류에서Dev

CSS를 사용하여 HTML5 캔버스에 색상을 지정하는 방법이 있습니까?

분류에서Dev

부모 div로 HTML5 캔버스를 인쇄하는 방법

분류에서Dev

HTML5의 캔버스에서 드로잉을 드래그 할 수있게 만드는 방법

분류에서Dev

Toplevel () Tkinter에서 캔버스를 사용하여 버튼을 만드는 방법

분류에서Dev

JS를 통해 캔버스에 렌더링하지 않고 html5를 사용하여 웹 페이지의 스크린 샷을 찍는 방법

분류에서Dev

모든 캔버스 모양을 항상 렌더링하지 않고 React와 함께 캔버스 HTML5를 사용하는 명확한 방법

분류에서Dev

HTML5 캔버스 옆에 div를 배치하는 방법

분류에서Dev

HTML5를 사용하여 서버에 유지되는 파일을 만드는 방법

분류에서Dev

HTML5 캔버스를 사용하여 오프셋으로 최종 점 좌표를 계산하는 방법은 무엇입니까?

분류에서Dev

HTML5 캔버스를 사용하여 원의 어느 부분을 클릭했는지 확인하는 방법은 무엇입니까?

분류에서Dev

HTML5 jquery를 사용하여 마우스 위치에서 캔버스에 요소를 놓는 방법

분류에서Dev

HTML5 캔버스 태그를 사용하여 비디오를 표시하는 방법

분류에서Dev

HTML5 캔버스에 이미지가 개체로 포함되어있을 때 스냅하는 방법

분류에서Dev

캔버스 애니메이션 배율을 만드는 방법 (HTML5)

분류에서Dev

HTML5 캔버스 데이터를 객체로 저장하는 가장 좋은 방법

분류에서Dev

HTML5 캔버스에서 함수를 그래프로 표시하는 올바른 방법

분류에서Dev

HTML5 캔버스에서 함수를 그래프로 표시하는 올바른 방법

분류에서Dev

캔버스를 사용하여 그림을 그리는 방법

분류에서Dev

루프 내에서 HTML5 캔버스를 렌더링하는 방법

분류에서Dev

html5 및 javascript를 사용하여 변수 단계를 만드는 방법

분류에서Dev

cin을 선택적으로 사용하여 C ++를 만드는 방법

분류에서Dev

HTML5 / Javascript를 사용하여 텍스트 파일을 다운로드하고 표시하는 방법은 무엇입니까?

분류에서Dev

jquery를 사용하여 동적으로 HTML을 만드는 방법

분류에서Dev

동적 formArray를 사용하여 HTML로 양식을 만드는 방법

분류에서Dev

typescript를 사용하여 캔버스 HTML에서 육각형을 변환하는 방법

분류에서Dev

Python 3.8을 사용하여 Tkinter에서 캔버스에 스크롤바를 만드는 방법

분류에서Dev

HTML 만 사용하여 입력에서 특정 코드로만 SUBMIT 버튼을 사용할 수 있도록하는 방법이 있습니까?

Related 관련 기사

  1. 1

    HTML5 캔버스에서 사용자 정의 선의 선 너비를 만드는 방법

  2. 2

    html5 캔버스를 배경으로 사용하여 CSS를 사용하여 YouTube 삽입을 그 위에 배치하여 해상도에 독립적이되도록하는 방법은 무엇입니까?

  3. 3

    CSS를 사용하여 HTML5 캔버스에 색상을 지정하는 방법이 있습니까?

  4. 4

    부모 div로 HTML5 캔버스를 인쇄하는 방법

  5. 5

    HTML5의 캔버스에서 드로잉을 드래그 할 수있게 만드는 방법

  6. 6

    Toplevel () Tkinter에서 캔버스를 사용하여 버튼을 만드는 방법

  7. 7

    JS를 통해 캔버스에 렌더링하지 않고 html5를 사용하여 웹 페이지의 스크린 샷을 찍는 방법

  8. 8

    모든 캔버스 모양을 항상 렌더링하지 않고 React와 함께 캔버스 HTML5를 사용하는 명확한 방법

  9. 9

    HTML5 캔버스 옆에 div를 배치하는 방법

  10. 10

    HTML5를 사용하여 서버에 유지되는 파일을 만드는 방법

  11. 11

    HTML5 캔버스를 사용하여 오프셋으로 최종 점 좌표를 계산하는 방법은 무엇입니까?

  12. 12

    HTML5 캔버스를 사용하여 원의 어느 부분을 클릭했는지 확인하는 방법은 무엇입니까?

  13. 13

    HTML5 jquery를 사용하여 마우스 위치에서 캔버스에 요소를 놓는 방법

  14. 14

    HTML5 캔버스 태그를 사용하여 비디오를 표시하는 방법

  15. 15

    HTML5 캔버스에 이미지가 개체로 포함되어있을 때 스냅하는 방법

  16. 16

    캔버스 애니메이션 배율을 만드는 방법 (HTML5)

  17. 17

    HTML5 캔버스 데이터를 객체로 저장하는 가장 좋은 방법

  18. 18

    HTML5 캔버스에서 함수를 그래프로 표시하는 올바른 방법

  19. 19

    HTML5 캔버스에서 함수를 그래프로 표시하는 올바른 방법

  20. 20

    캔버스를 사용하여 그림을 그리는 방법

  21. 21

    루프 내에서 HTML5 캔버스를 렌더링하는 방법

  22. 22

    html5 및 javascript를 사용하여 변수 단계를 만드는 방법

  23. 23

    cin을 선택적으로 사용하여 C ++를 만드는 방법

  24. 24

    HTML5 / Javascript를 사용하여 텍스트 파일을 다운로드하고 표시하는 방법은 무엇입니까?

  25. 25

    jquery를 사용하여 동적으로 HTML을 만드는 방법

  26. 26

    동적 formArray를 사용하여 HTML로 양식을 만드는 방법

  27. 27

    typescript를 사용하여 캔버스 HTML에서 육각형을 변환하는 방법

  28. 28

    Python 3.8을 사용하여 Tkinter에서 캔버스에 스크롤바를 만드는 방법

  29. 29

    HTML 만 사용하여 입력에서 특정 코드로만 SUBMIT 버튼을 사용할 수 있도록하는 방법이 있습니까?

뜨겁다태그

보관