久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

解決canvas轉base64/jpeg時透明區域變成黑色背景的方法

最近在工作遇到一個問題,在將png圖片轉jpeg時,透明區域被填充成黑色,通過網上的介紹找到了解決的方法,現在總結下分享給同樣遇到這個問題的朋友們,感興趣的可以通過本文詳細

在用canvas將png圖片轉jpeg時,發現透明區域被填充成黑色。

代碼如下:

XML/HTML Code復制內容到剪貼板
  1. <p>Canvas:</p>  
  2. <canvas id="canvas" style="border: 1px solid #ccc;"></canvas>  
  3. <br>  
  4. <p>Base64轉碼后的圖片:</p>  
  5. <div id="base64Img"></div>  
  6.   
  7. <script type="text/javascript">  
  8.     var base64Img = document.getElementById("base64Img"),   
  9.         canvas = document.getElementById("canvas"),   
  10.         context = canvas.getContext("2d");   
  11.   
  12.     // 創建新圖片   
  13.     var img = new Image();   
  14.     img.src = "1.png";   
  15.   
  16.     img.addEventListener("load", function() {   
  17.         // 繪制圖片到canvas上   
  18.         canvas.width = img.width;   
  19.         canvas.height = img.height;   
  20.   
  21.         context.drawImage(img, 0, 0);   
  22.   
  23.         getBase64(canvas, function(dataUrl) {   
  24.             // 展示base64位的圖片   
  25.             var newImg = document.createElement("img");   
  26.                 newImg.src = dataUrl;   
  27.   
  28.             base64Img.appendChild(newImg);   
  29.         });   
  30.     }, false);   
  31.   
  32.     // 獲取canvas的base64圖片的dataURL(圖片格式為image/jpeg)   
  33.     function getBase64(canvas, callback) {   
  34.         var dataURL = canvas.toDataURL("image/jpeg");   
  35.   
  36.         if(typeof callback !== undefined) {   
  37.             callback(dataURL);   
  38.         }   
  39.     }   
  40. </script>  

效果如下:

為什么canvas會png的透明區域轉成黑色呢?

canvas轉換成jpeg之前移除alpha通道,所以透明區域被填充成了黑色。

但是,我們希望的是,canvas可以將png的透明區域填充成白色。

那么怎么將canvas中的透明區域填充成白色呢?

以下是我實踐過的兩種解決方案,希望對你有幫助。

解決方案一:將透明的pixel設成白色

【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas 實現 github404動態效果的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了教你使用Canvas處理圖片的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了Canvas與圖片壓縮的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了基于HTML5 Canvas的3D動態Chart圖表的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas之自定義頭像功能實現代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 在线视频国产一区 | 三级视频久久 | 日韩一级 | 热99在线 | 男人天堂社区 | 成人在线国产 | 亚洲毛片在线观看 | 久久成人精品视频 | 国产福利资源在线 | 黄色免费观看 | 午夜在线视频 | 亚洲国产精品激情在线观看 | 亚洲免费一区 | 91精品国产一区二区三区香蕉 | 日韩一区二区三区视频在线观看 | 99精品欧美一区二区蜜桃免费 | 国产精品片 | 成人免费观看男女羞羞视频 | 精品国产精品一区二区夜夜嗨 | 黄片毛片免费观看 | 日韩成人在线网址 | 自拍视频一区二区三区 | 亚洲精品国产精品国自产在线 | 久久国产亚洲 | 在线播放一区 | caoporn国产精品免费公开 | 特级毛片www | 成人av观看 | 久久精品亚洲精品国产欧美 | 免费在线观看黄网站 | 九九热精品在线视频 | 丝袜美腿一区二区三区动态图 | 亚洲高清在线 | 亚洲视频免费观看 | 日韩欧美中文 | 97在线超碰 | 久久久久国产一级毛片高清网站 | 精品亚洲一区二区三区 | 欧美视频一区二区三区 | 久久av综合 | 91久久久久久久久久久久久 |