摘要:一中心旋轉效果代碼矩形中心點旋轉前紅色矩形旋轉后綠色矩形二中心縮放效果代碼矩形中心點縮放前紅色矩形縮放后綠色矩形
一、中心旋轉
效果:
代碼:
var canvas = document.createElement("canvas"); canvas.width = 500; canvas.height = 500; canvas.style.backgroundColor = "#ffffd"; document.body.appendChild(canvas); var ctx = canvas.getContext("2d"); var x = 100, y = 100, width = 150, height = 150, angle = 90, rectCenterPoint = {x: x+width/2, y: y+height/2}; // 矩形中心點 // 旋轉前(紅色矩形) ctx.fillStyle = "#f00"; ctx.fillRect(x, y, width, height); // 旋轉后(綠色矩形) ctx.translate(rectCenterPoint.x, rectCenterPoint.y); ctx.rotate(angle); ctx.translate(-rectCenterPoint.x, -rectCenterPoint.y); ctx.fillStyle = "#690"; ctx.fillRect(x, y, width, height);
二、中心縮放
效果:
代碼:
var canvas = document.createElement("canvas"); canvas.width = 500; canvas.height = 500; canvas.style.backgroundColor = "#ffffd"; document.body.appendChild(canvas); var ctx = canvas.getContext("2d"); var x = 100, y = 100, width = 150, height = 150, rectCenterPoint = {x: x+width/2, y: y+height/2}, // 矩形中心點 scaleX = 0.5, scaleY = 0.4; // 縮放前(紅色矩形) ctx.fillStyle = "#f00"; ctx.fillRect(x, y, width, height); // 縮放后(綠色矩形) ctx.translate(rectCenterPoint.x*(1-scaleX), rectCenterPoint.y*(1-scaleY)); ctx.scale(scaleX, scaleY); ctx.fillStyle = "#690"; ctx.fillRect(x, y, width, height);
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/83043.html
摘要:中的拖拽縮放旋轉上數學知識準備。表示整個區域,表示中的元素。事實上,工作上的需求并沒有要求旋轉,只需要實現拖拽縮放即可。 寫在前面 showImg(https://segmentfault.com/img/bVbonep?w=283&h=306); 本文首發于公眾號:符合預期的CoyPan demo體驗地址及代碼在這里:請用手機或瀏覽器模擬手機訪問 上一篇文章介紹了canvas中的拖拽...
摘要:另外這里循環中用到了的旋轉效果,所以我們可以很輕易的畫出條有角度的線。效果見文章開頭的效果展示鏈接 效果展示理論基礎——常見的canvas優化——模糊問題、旋轉效果 用離屏canvas畫基礎部分 1、封裝畫線函數 function drawLine(ctx,x1,y1,x2,y2,color){ ctx.save(); ctx.beginPath(); ctx.stroke...
摘要:步驟設置控件監聽事件,重新生成驗證區域在文件中添加控件在文件中添加控件,用于顯示旋轉驗證的動態效果。先實例化一個隨機數對象,用于后續計算隨機生成的旋轉驗證塊角度值。 前言基于安卓平臺的滑動拼## 二級標題圖驗證組件SwipeCaptcha(https://github.com/mcxtzhang/SwipeCa...
閱讀 3538·2021-11-22 15:22
閱讀 3328·2019-08-30 15:54
閱讀 2724·2019-08-30 15:53
閱讀 783·2019-08-29 11:22
閱讀 3528·2019-08-29 11:14
閱讀 2073·2019-08-26 13:46
閱讀 2206·2019-08-26 13:24
閱讀 2276·2019-08-26 12:22