Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

HTML5 캔버스를 마우스 커서로 확대/축소

<시간/>

캔버스는 항상 현재 원점에서 스케일됩니다. 기본 원점은 [0,0]입니다. 다른 지점에서 크기를 조정하려면 먼저 ctx.translate(desiredX,desiredY);를 수행할 수 있습니다. 캔버스의 원점을 [desiredX,desiredY]로 재설정합니다.

translate() 메서드는 캔버스의 (0,0) 위치를 다시 매핑합니다. scale() 메서드는 현재 도면의 크기를 더 크거나 작게 조정합니다. 캔버스 컨텍스트를 오프셋으로 변환()하려면 먼저 확대 또는 축소하기 위해 크기를 조정()한 다음 마우스 오프셋의 반대만큼 다시 변환()해야 합니다.

이 단계는 다음 예에 나와 있습니다.

ctx.translate(pt.x,pt.y);
ctx.scale(factor,factor);
ctx.translate(-pt.x,-pt.y);