कैनवास हमेशा अपने वर्तमान मूल से स्केल करता है। डिफ़ॉल्ट मूल [0,0] है। यदि आप किसी अन्य बिंदु से स्केल करना चाहते हैं, तो आप पहले ctx.translate(desiredX,desiredY); कर सकते हैं। यह कैनवास के मूल को [वांछित एक्स, वांछित वाई] पर रीसेट कर देगा।
अनुवाद () विधि कैनवास पर (0,0) स्थिति को रीमैप करती है। स्केल () विधि वर्तमान ड्राइंग को बड़ा या छोटा करती है। यदि आप अपने ऑफ़सेट द्वारा कैनवास संदर्भ का अनुवाद () करना चाहते हैं, तो आपको पहले इसे ज़ूम इन या आउट करने के लिए स्केल () करना होगा, और फिर माउस ऑफ़सेट के विपरीत अनुवाद () करना होगा।
ये चरण निम्नलिखित उदाहरण में दिए गए हैं
ctx.translate(pt.x,pt.y); ctx.scale(factor,factor); ctx.translate(-pt.x,-pt.y);