Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ซูม HTML5 Canvas เป็นเคอร์เซอร์ของเมาส์


ผืนผ้าใบจะปรับขนาดจากจุดกำเนิดปัจจุบันเสมอ ค่าเริ่มต้นคือ [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);