1. 程式人生 > >canvas 滑鼠位置縮放圖形

canvas 滑鼠位置縮放圖形

最近再做 webcad , 需要在 canvas  上對圖形進行縮放,主要分為以下幾個步驟:

1、找到當前游標所在位置,確定其在相對 canvas 座標系的座標

  繫結滑鼠滾輪事件,假定每次縮放比例 0.2

  求滑鼠相對座標 p0

2、圖形由點組成,對每個點進行矩陣變換,得到變換後的座標,假設圖中一點為 p1:

  v1 = p1 - p0   // 將 p0 作為變換圖形的原點

  p1 = v1.scale(x_ratio, y_ratio)   // 縮放

  p1 = p1 + p0                       // 還原座標點 

3、清除當前圖形,繪製新圖形

 

通過以上步驟可實現以滑鼠當前位置為中心,縮放影象。 以上為實現的基本思路, 程式碼後期補上。