前言
若對Canvas做旋轉會是依照最左上角為中心,所以若要針對特殊的圖中心就要做些處理。
方法
先使用save()
保存畫布。1ctx.save();
由於是針對左上角旋轉,所以我們先把畫布移到物體的座標。1ctx.translate(obj.x,obj.y);
再移到物體的中心。1ctx.translate(obj.width/2,obj.height/2);
旋轉。1ctx.rotate( 1 );
再移動畫布1ctx.translate(-obj.width/2,-obj.height/2);
畫上圖案1ctx.drawImage(obj, 0, 0, obj.width, obj.height);
還原1ctx.restore();
完整代碼
記得自己替換內容。1234567ctx.save();ctx.translate(view.width ,view.height);ctx.translate(view.width/2,view.height/2); ctx.rotate( ang );ctx.translate(-view.width/2,-view.height/2);ctx.drawImage(view, 0, 0, view.width, view.height);ctx.restore();