微信小程序canvas實現(xiàn)畫圓圈頭像

darwAvatarArc: function(ctx, src, x, y, w, h = w){

? ? /*

? ? ? ctx: 畫布對象

? ? ? src: 頭像緩存路徑

? ? ? x: 頭像起始位置 橫坐標

? ? ? y: 頭像起始位置 縱坐標

? ? ? w: 頭像寬度

? ? ? h: 頭像高度,不傳為w

? ? */

? ? // 保存繪圖上下文。

? ? ctx.save();

? ? // 開始創(chuàng)建一個路徑。需要調用 fill 或者 stroke 才會使用路徑進行填充或描邊

? ? ctx.beginPath()

? ? // 設創(chuàng)建一個圓可以指定 起始弧度為 0,終止弧度為 2 * Math.PI。

? ? // 用 stroke 或者 fill 方法來在 canvas 中畫弧線。

? ? ctx.arc(x+w/2, y+h/2, w/2, 0, Math.PI * 2, false);

? ? /* 從原始畫布中剪切任意形狀和尺寸。

? ? 一旦剪切了某個區(qū)域,則所有之后的繪圖都會被限制在被剪切的區(qū)域內(

? ? 不能訪問畫布上的其他區(qū)域)??梢栽谑褂?clip 方法前通過使用 save 方法對當前畫布區(qū)域進行保存,并在以后的任意時間通過restore方法對其進行恢復。

? ? */

? ? ctx.clip()

? ? // 畫頭像

? ? ctx.drawImage(src, x, y, w, h);

? ? // 恢復之前保存的繪圖上下文。

? ? ctx.restore()

? ? // 將之前在繪圖上下文中的描述(路徑、變形、樣式)畫到 canvas 中。

? ? ctx.draw(true)

? }


小程序代碼片段:https://developers.weixin.qq.com/s/z4J5TOmz7Y68

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容