最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

html5中svg canvas和圖片之間相互轉化思路代碼

  發(fā)布時間:2014-01-24 15:09:22   作者:佚名   我要評論
需要把網頁部分內容做正文,并把原網頁轉成pdf作為附件,發(fā)送郵件給boss,將svg轉成canvas顯示,但是后來發(fā)現canvas也無法正常顯示,最后不得已,只能將canvas標簽再一次轉成圖片格式
最近有個需求,需要把網頁部分內容做正文,并把原網頁轉成pdf作為附件,發(fā)送郵件給boss。由于我們這是報表類型的網站,在html5中控件開發(fā)無非就是canvas或者是svg,這里我們有幾個控件是用svg,而svg在FoxMail郵件正文中無法正常顯示,于是考慮將svg轉成canvas顯示,但是后來發(fā)現canvas也無法正常顯示,最后不得已,只能將canvas標簽再一次轉成圖片格式,終于解決了這個問題。下面就簡單介紹一下實現過程。如下是一個svg標簽

復制代碼
代碼如下:

<div id="svgContainer">
<svg id="svg"></svg>
</div>

首先需要獲取svg標簽以及內容:

var svgHtml = svgContainer.innerHTML();

將svg轉成canvas需要用到google的一個插件canvg,可以上官網下載,也可以直接遠程引用進來

接下來就是調用該插件的canvg(canvasId,svgHtml)方法來轉成canvas,這個方法第一個參數就是canvas標簽的id,第二個自然就是svg標簽內容了,就這樣,svg轉成了canvas

然后就是將canvas轉成圖片了,這個更加簡單了

var imgSrc = document.getElementById(canvasId).toDataUrl("image/png");//這其實是將canvas轉成了圖片,并返回圖片的所有內容數據,如下即可顯示圖片:

復制代碼
代碼如下:

<img src=imgSrc />

這就是從svg->canvas->image的實現方法了,這個還是很有用的,因為不同的瀏覽器對svg和canvas的支持不同,這樣的話,至少我們的控件總有方式能夠正確顯示,即使我們最后只能使用圖片。

相關文章

  • 詳解FireFox下Canvas使用圖像合成繪制SVG的Bug

    這篇文章主要介紹了詳解FireFox下Canvas使用圖像合成繪制SVG的Bug,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-07-10
  • HTML5之SVG 2D入門13—svg對決canvas及長處和適用場景分析

    到目前為止,SVG與Canvas的主要特性均已經總結完畢了,現在,我們就來比對一下這兩種技術,分析一下它們的長處和適用場景,感興趣的朋友可以了解下哦,或許對你有所幫助
    2013-01-30
  • HTML5中Canvas與SVG的畫圖原理比較

    canvas 與 SVG都能夠使你在瀏覽器中畫圖,但它們的基本原理不同,接下來將對canvas 與 SVG的畫圖原理進行介紹,感興趣的朋友可以了解下
    2013-01-16
  • Canvas和SVG的區(qū)別小結

    Canvas和SVG都是HTML5中的圖形渲染技術,那么你知道這兩種有哪些區(qū)別嗎,本文就詳細的介紹一下,感興趣的可以了解一下
    2023-05-11

最新評論

咸宁市| 嘉义县| 沈丘县| 池州市| 柳州市| 临澧县| 安溪县| 安溪县| 东源县| 浑源县| 乌兰察布市| 灯塔市| 陵水| 万山特区| 绍兴县| 海原县| 松溪县| 临洮县| 齐齐哈尔市| 西峡县| 德阳市| 陇西县| 阿克陶县| 安福县| 镇雄县| 庄浪县| 绵竹市| 大冶市| 武鸣县| 三明市| 南平市| 于田县| 扬中市| 定州市| 莎车县| 淮南市| 金山区| 石景山区| 灯塔市| 马山县| 大竹县|