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

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

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

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

代碼如下:

XML/HTML Code復(fù)制內(nèi)容到剪貼板
  1. <p>Canvas:</p>  
  2. <canvas id="canvas" style="border: 1px solid #ccc;"></canvas>  
  3. <br>  
  4. <p>Base64轉(zhuǎn)碼后的圖片:</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會(huì)png的透明區(qū)域轉(zhuǎn)成黑色呢?

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

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

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

以下是我實(shí)踐過(guò)的兩種解決方案,希望對(duì)你有幫助。

解決方案一:將透明的pixel設(shè)成白色

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

相關(guān)文檔推薦

本篇文章主要介紹了html5中canvas圖表實(shí)現(xiàn)柱狀圖的示例,本文使用canvas來(lái)實(shí)現(xiàn)一個(gè)圖表,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
本篇文章主要介紹了canvas 實(shí)現(xiàn) github404動(dòng)態(tài)效果的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
本篇文章主要介紹了教你使用Canvas處理圖片的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
本篇文章主要介紹了Canvas與圖片壓縮的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
這篇文章主要介紹了基于HTML5 Canvas的3D動(dòng)態(tài)Chart圖表的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
本篇文章主要介紹了canvas之自定義頭像功能實(shí)現(xiàn)代碼示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
主站蜘蛛池模板: 国产成人免费视频 | 九七午夜剧场福利写真 | 中文字幕在线观看www | 国产精品久久久久久久久久久免费看 | 少妇特黄a一区二区三区88av | 91高清免费 | 91欧美精品成人综合在线观看 | 婷婷毛片 | 亚洲成人精品 | 日韩有码一区 | 久久免费大片 | a级片播放 | 国产精华一区 | 在线视频一区二区三区 | 久久久久久电影 | 91精品久久久久久久 | 国产精品久久久久久一区二区三区 | 日韩精品久久一区 | 69av片| 一区二区国产在线观看 | 亚洲国产成人av好男人在线观看 | 国产成人福利视频 | 亚洲国产精品va在线看黑人 | 欧美日韩在线免费 | 日韩午夜影院 | 久久精品亚洲精品国产欧美 | 超级乱淫av片免费播放 | 国产精品一区二区久久久久 | 在线欧美一区 | 成人黄色电影在线观看 | 视频国产一区 | 18av在线播放 | 国产91丝袜 | 国产精品久久久久久久久久妇女 | 久久爱综合 | 久久一区精品 | 国产午夜精品视频 | 91久操视频 | 午夜视频在线免费观看 | 99精品在线观看 | 成人欧美 |