html canvas截取圓角圖片的實作方法

小云云
發布: 2018-02-02 11:06:25
原創
3602 人瀏覽過

以前我們只能透過其他的截圖工具來截取圖片。現代瀏覽器的功能已經越來越強,隨著H5的逐漸普及,瀏覽器本身就可以截圖啦。 html2canvas就是這樣一款前端插件,它的原理是將Dom節點在Canvas裡邊畫出來。雖然很方便,但有以下限制:

本文主要介紹html2canvas截圖不能截取圓角圖片的解決方案的相關資料,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧,希望能幫助大家。

  • 不支援iframe

  • 不支援跨網域圖片

  • 不能在瀏覽器外掛程式中使用

  • 部分瀏覽器上不支援SVG圖片

  • #不支援Flash

  • 不支持古代瀏覽器和IE,如果你想確認是否支援某個瀏覽器,可以用它訪問http://deerface.sinaapp.com/ 試試看:)

由於我的使用場景很簡單,記錄一下異常訊息,並且異常頁面也是由自己定義的,那麼html2canvas 就足夠使用了。

第一次用html2canvas,目的就是想把整個頁面截圖下來生成一張圖片給用戶保存

下面我們先來看看HTML渲染出來的是啥樣子的

HTML渲染出來的圖片可以看到上面的圖片是有圓角效果的,但是當我用html2canvas來轉換圖片操作的時候,發現圖片圓角效果沒失效了。

變成了上面這個樣子。想了很多解決方案,後來決定把後面的圓角做成一張背景圖片,中間圓的部分背景透明,然後透過絕對定位覆蓋到原來的圖片上面,相當於是一個遮罩這種效果。

當然,遮罩圖片的DOM節點必須在需要圓角圖片的下面,類似於


<p class="avatar_img fl"><p class="avatar_img fl"> 
     <img src="" id="you" class="avatar_pp fl" /><!--需要圆角的原始图片-->
     <img src="/template/images/avatar.png" class="img-responsive" style="position: absolute;"><!--遮罩图片-->
</p>
登入後複製
登入後複製

生成出來就是正常的樣子了


<p class="avatar_img fl"><p class="avatar_img fl"> 
     <img src="" id="you" class="avatar_pp fl" /><!--需要圆角的原始图片-->
     <img src="/template/images/avatar.png" class="img-responsive" style="position: absolute;"><!--遮罩图片-->
</p>
登入後複製
登入後複製


#複製程式碼

程式碼如下:

<a href="<a href=" 
<img">http://www.teaxia.com/wp-content/uploads/2018/01/2.jpg"><img</a> 
src="<a href=" 
http://www.teaxia.com/wp-content/uploads/2018/01/2-169x300.jpg</a>" alt="" width="169" height="300" 
srcset="<a href=" 
http://www.teaxia.com/wp-content/uploads/2018/01/2-169x300.jpg</a> 169w, 
<a href=" 
http://www.teaxia.com/wp-content/uploads/2018/01/2.jpg</a> 377w" 
sizes="(max-width: 169px) 100vw, 169px" /></a>
登入後複製

相關推薦:

html與CSS如何實現圓形和圓角圖片格式的範例程式碼

php產生圓角圖片代碼

CSS3製作圓角圖片和橢圓形圖片的方法介紹

以上是html canvas截取圓角圖片的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板