使用h5中canvas畫圓角矩形,生成透明圓角圖片,實現(xiàn)圖片在線轉圓角功能

最近在個人網站butterpig實現(xiàn)了圖片一鍵轉換圓角功能,該功能的實現(xiàn)主要用到了html5中的canvas繪圖技術。

首先,實現(xiàn)效果如下:

為了實現(xiàn)該功能,首先我們要生成一個透明底色的空內容的canvas,然后獲取到canvas的context對象,通過對象的arc()和lineTo()方法來畫出一個圓角的矩形,部分代碼如下:

ctx.beginPath();

ctx.arc(width-radius, height-radius, radius, 0, Math.PI/2);

ctx.lineTo(radius, height);

ctx.arc(radius, height-radius, radius, Math.PI/2, Math.PI);

ctx.lineTo(0, radius);

ctx.arc(radius, radius, radius, Math.PI, Math.PI*3/2);

ctx.lineTo(width-radius, 0);

ctx.arc(width-radius,radius,radius,Math.PI*3/2, Math.PI*2);

ctx.closePath();

然后通過clip()方法將這塊圓角矩形區(qū)域剪切,那么此后對畫布的修改,就僅限于這個圓角矩形剪切區(qū)域內了,其他部分依然是透明的。所以現(xiàn)在把圖片通過drawImage()將圖片畫到畫布上,那么此時的圖片就已經是圓角了,其他區(qū)域的內容被裁剪掉了,只保留了該圓角矩形內部的畫面。實現(xiàn)起來相當簡單,如果不容易理解可以補習一下canvas繪圖的基礎知識。該功能的地址是:圖片在線轉圓

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一:canvas簡介 1.1什么是canvas? ①:canvas是HTML5提供的一種新標簽 ②:HTML5 ...
    GreenHand1閱讀 4,719評論 2 32
  • 利用矩形的繪制,顏色與透明度,編程繪制方形鐘 要求: (1)鐘面的矩形邊框應當是圓角矩形, (2)邊框線要采用除默...
    沒昔閱讀 420評論 0 0
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標簽 Canvas是一個矩形區(qū)...
    Looog閱讀 3,973評論 3 40
  • 一、canvas簡介 1.1 什么是canvas?(了解) 是HTML5提供的一種新標簽 Canvas是一個矩形區(qū)...
    J_L_L閱讀 1,560評論 0 4
  • 1 Canvas接口元素定義 1.1 getContext()方法 為了在canvas上繪制,你必須先得到一個畫布...
    Kevin_Junbaozi閱讀 1,359評論 1 2