캔버스는 항상 현재 원점에서 스케일됩니다. 기본 원점은 [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);