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

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

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

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

代碼如下:

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.     // 創(chuàng)建新圖片   
  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的透明區(qū)域轉成黑色呢?

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

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

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

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

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

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

相關文檔推薦

本篇文章主要介紹了html5中canvas圖表實現柱狀圖的示例,本文使用canvas來實現一個圖表,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas 實現 github404動態(tài)效果的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了教你使用Canvas處理圖片的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了Canvas與圖片壓縮的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
這篇文章主要介紹了基于HTML5 Canvas的3D動態(tài)Chart圖表的示例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
本篇文章主要介紹了canvas之自定義頭像功能實現代碼示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 国产xxx| 涩涩视频免费看 | 蜜臀久久99精品久久久久宅男 | 成人在线播放视频 | 精品人伦一区二区三区 | 超碰97免费 | 草草视频在线观看 | 欧美国产精品 | 日韩成人在线播放 | 在线观看h片 | 午夜成人在线视频 | 国产一区二区三区精品视频 | 欧美精品色 | 欧美在线视频免费 | 狠狠综合网 | 亚洲免费av在线 | 3d动漫精品h区xxxxx区 | 国产在线小视频 | 日韩不卡一区 | 四虎海外 | 国产aⅴ爽av久久久久成人 | 成人夜色 | 日本成人一区 | 国产精品一区二区不卡 | 一区二区不卡 | 日韩欧美中文在线 | 亚洲va视频 | 97国产视频 | 日本激情网站 | 国产性猛交╳xxx乱大交 | 日韩国产一区二区 | 久久精品视频网站 | 三级黄色片 | 精品福利在线 | 久久免费国产 | 精品国产精品三级精品av网址 | 免费视频成人 | 黄色录像一级片 | 一区免费视频 | 天天插天天狠天天透 | 在线观看免费av网站 |