2013-08-28 2 views

답변

0

context.rotate(angle) 방법으로이를 수행 할 수 있습니다. 이 메서드는 현재 캔바스에 그려지는 것에 영향을주지 않지만 대신 회전을 설정 한 후에 그려지는 모든 것에 영향을줍니다. 각도는 라디안으로 표시되므로 전체 원은 pi * 2 = 6.28318530718입니다.

회전은 캔버스의 현재 내부 좌표계 점 0을 기준으로합니다. context.translate(x, y)을 사용하여 왼쪽 상단 구석이 아닌 캔버스 중앙에 배치하는 것이 좋습니다.

  1. 받는 보이지 캔버스 그릴 사용 drawImage
  2. 가시 캔버스 회전 설정 회전 중심
  3. 로 표시 캔버스에 보이지 않는 배경 캔버스
  4. 세트 변환 맵을 그리 보이는 하나 (당신이 drawImage를 사용할 때, 소스는 다른 캔버스 일 수도있다). 이 drawImage 호출은 사용자가 설정 한 회전 및 평행 이동의 영향을받습니다.

원래지도가 그려지는 방법과 방법을 제어 할 수 있다면 그리기 전에 원본 캔버스에 변형과 회전을 적용 할 수 있습니다.

+0

필립, 고맙습니다. – mekafe

+0

처음 세 단계를 구현했지만 마지막 단계는 수행 할 수 없었습니다. 도와 주실 수 있습니까? 내 소스 코드는 다음과 같습니다. var visibleCanvas = document.getElementById ("VisibleCanvas"); var visibleCtx = visibleCanvas.getContext ("2d"); visibleCtx.translate (400,300); visibleCtx.rotate (Math.PI); visibleCtx.drawImage (c, -400, -300,800,600); c는 숨겨진 캔버스입니다. – mekafe

+0

@mekafe 새로운 질문을 작성하고 거기에 코드를 게시하고 (가능한 한 [jsfiddle] (http://jsfiddle.net)으로) 자신이 갇혀있는 곳 (일어날 것으로 예상되는 것과 대신 일어나는 일)을 정확하게 설명하십시오. – Philipp

관련 문제