久久久久久久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| 999免费网站| 国产精品日韩欧美一区二区三区 | 午夜影晥 | 欧美激情国产日韩精品一区18 | 中文字幕视频在线观看 | 日韩在线播放中文字幕 | 精品国产一区二区三区性色av | 中文字幕在线观看av | 一区二区av| 欧美在线天堂 | 久久国内精品 | 国产一区二区精品在线观看 | 亚洲电影成人 | 一区二区免费在线视频 | 久久精品一区 | 亚洲国产精品第一区二区 | 久久免费视频1 | 欧美一区二区三区在线视频 | 国内精品视频一区二区三区 | 国产欧美一区二区精品忘忧草 | 久久不射网 | 亚洲激精日韩激精欧美精品 | 逼逼视频 | 天天艹逼网 | 久久久毛片 | 日韩在线中文字幕 | 日韩视频一区 | 亚洲每日更新 | 天天干天天草 | 一级黄色播放 | 亚洲精品免费在线 | 午夜免费网站 | 国产成人福利视频在线观看 | 亚洲国产精品人人爽夜夜爽 | 亚洲国产视频一区 | 国产精品看片 | 国产精品明星裸体写真集 | 亚洲精品一区二区 | 久久亚洲精品久久国产一区二区 |