亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

通過canvas轉換顏色為RGBA格式及性能問題的解決

2024-09-05 07:23:08
字體:
來源:轉載
供稿:網友

轉換任意顏色為RGBA格式

前端編程過程中,經常會遇到要把各種顏色格式(比如 “red”、“#F00”、“#FF0000”等)轉換成RGBA格式,搜索網絡也可以發現一堆的解決方案:

此處介紹一種方法: 通過canvas的像素獲取方法,來獲取任意顏色的RGBA數值。大致步驟如下:

  • 首先創建一個尺寸為1*1的canvas,并獲取canvas的繪制上下文ctx
  • 設置ctx.fillStyle為指定的顏色
  • 通過ctx.fillRect填充canvas
  • 通過ctx.getImaegeData獲取Imagedata對象,并獲取其中的像素值,獲取的像素值正好是RGBA格式的。

示例代碼如下:

function getRgba(color) {      var canvas = document.createElement("canvas");      canvas.width = 1;      canvas.height = 1;      var ctx = canvas.getContext('2d');      ctx.fillStyle = color;      ctx.fillRect(0, 0, 1, 1);      var colorData = ctx.getImageData(0, 0, 1, 1).data;      return {          r: colorData[0],          g: colorData[1],          b: colorData[2],          a: colorData[3]      };  }

注意性能問題

需要注意的是,如果上述方法頻繁調用,則會有性能問題, 我公司一個小伙伴就出現過這樣的性能問題。因為代碼在頻繁的創建canvas對象, 不斷創建對象會有性能損耗,而JavaScript本身還需要在垃圾回收階段不斷的回收這些創建的對象,也是一次性能消耗。

好的處理方式是創建一個全局的canvas對象,每次都復用該對象。只用做很小的改動,參考下面的代碼 :

  var canvas = document.createElement("canvas");    canvas.width = 1;    canvas.height = 1;   var ctx = canvas.getContext('2d');function getRgba(color) {      ctx.fillStyle = color;      ctx.fillRect(0, 0, 1, 1);      var colorData = ctx.getImageData(0, 0, 1, 1).data;      return {          r: colorData[0],          g: colorData[1],          b: colorData[2],          a: colorData[3]      };  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧洲亚洲在线视频| 国产视频丨精品|在线观看| 91超碰caoporn97人人| 国产不卡av在线免费观看| 亚洲国产精品va在线看黑人| 日韩在线观看免费高清完整版| 国产99视频在线观看| 国产欧美在线播放| 久久久女人电视剧免费播放下载| 欧美激情影音先锋| 欧美大片在线看| 久久九九精品99国产精品| 欧美xxxx18国产| 亚洲精品国产美女| 欧美日韩xxx| 精品久久久久久久久久国产| 成人激情视频在线观看| 日本亚洲欧洲色| 国产精品香蕉在线观看| 97精品在线观看| 亚洲人成亚洲人成在线观看| 国产高清在线不卡| 中文字幕欧美日韩精品| 91精品啪在线观看麻豆免费| 欧美视频一二三| www.欧美三级电影.com| 亚洲国产精品大全| 久久久久亚洲精品国产| 日韩高清a**址| 在线观看视频99| 国产精品欧美一区二区三区奶水| 欧美日韩国产丝袜另类| 欧美理论电影在线播放| 国产精品视频xxx| 国产一区二区黑人欧美xxxx| 69久久夜色精品国产7777| 欧美人成在线视频| 国产精品久久久久久久一区探花| 久操成人在线视频| 欧美洲成人男女午夜视频| 欧美视频中文在线看| 欧美视频一区二区三区…| 亚洲天堂av网| 欧美午夜xxx| 在线视频中文亚洲| 欧美野外猛男的大粗鳮| 国产精品一二三视频| 久久久久www| 欧美激情小视频| 中文字幕精品一区二区精品| 国产精品久久久久久超碰| 亚洲精品中文字幕av| 韩国视频理论视频久久| 91精品在线看| 亚洲精品国产精品国自产在线| 欧美有码在线观看视频| 久久免费少妇高潮久久精品99| 久久亚洲精品一区二区| 久久久久久国产三级电影| 国产欧美一区二区三区久久人妖| 欧美xxxx做受欧美| 日韩欧美在线视频日韩欧美在线视频| 国产日韩在线观看av| 欧美日韩国产一区中文午夜| 国产精品久久久久久久av电影| 日韩一区二区在线视频| 欧美中在线观看| 久久久久久97| 国产日韩欧美在线视频观看| 九九久久国产精品| 欧美日韩爱爱视频| 欧美性受xxxx白人性爽| 国产成人精品一区二区在线| 69久久夜色精品国产69乱青草| 国产精品情侣自拍| 538国产精品一区二区在线| 国内久久久精品| 精品美女国产在线| 日本精品久久久久影院| 日韩av免费一区| 在线视频欧美日韩| 国产精品福利无圣光在线一区| 中文字幕视频一区二区在线有码| 国产91精品久久久久久久| 亚洲精品狠狠操| 久久综合网hezyo| 欧美大胆a视频| 亚洲国产私拍精品国模在线观看| 欧美日韩在线一区| 伦伦影院午夜日韩欧美限制| 日韩精品免费在线| 国产91精品久久久久久| 久久精品人人做人人爽| 亚洲精品中文字| 亚洲电影成人av99爱色| 日韩av观看网址| 日韩免费电影在线观看| 亚洲精品中文字幕有码专区| 亚洲欧美日韩天堂| 国产午夜精品理论片a级探花| 日韩欧美视频一区二区三区| 亚洲3p在线观看| 国产精品免费电影| 一级做a爰片久久毛片美女图片| 日韩福利在线播放| 日韩精品久久久久久福利| 精品久久久久久中文字幕| 中国日韩欧美久久久久久久久| 日韩免费在线看| 欧洲午夜精品久久久| 色青青草原桃花久久综合| 中文字幕亚洲无线码在线一区| 中文字幕不卡av| 91视频免费在线| 久久久久久久一区二区| 亚洲欧洲av一区二区| 日韩在线免费高清视频| 亚洲男人天堂古典| 国产精品日本精品| 亚洲欧美国产高清va在线播| 欧美成人激情图片网| 国产性猛交xxxx免费看久久| 日韩黄色高清视频| 国产精品成人国产乱一区| 日韩精品中文在线观看| 国产精品美女网站| 亚洲欧美国产精品久久久久久久| 欧美日韩中国免费专区在线看| 夜夜嗨av色综合久久久综合网| 人人爽久久涩噜噜噜网站| 91在线免费网站| 欧美乱大交xxxxx另类电影| 国产欧美一区二区三区在线| 亚洲色图在线观看| 超碰91人人草人人干| 国产精品久久av| 亚洲片国产一区一级在线观看| 欧美自拍大量在线观看| 日韩黄色高清视频| 国产精品视频久久久久| 精品久久久久久亚洲国产300| 亚洲欧美自拍一区| 国产在线久久久| 97色在线视频观看| 日韩免费精品视频| 日韩中文在线视频| 国产91精品网站| 亚洲自拍在线观看| 亚洲免费人成在线视频观看| 国产69精品久久久| 欧美激情二区三区| 亚洲精品短视频| 69视频在线免费观看| 久久精品中文字幕免费mv| 伊人伊成久久人综合网站| 欧美黑人国产人伦爽爽爽| 欧美国产日韩视频| 欧美在线视频播放| 亚洲国产精品久久久久| 国产精品免费小视频| 亚洲免费成人av电影| 日韩成人激情在线| 中文字幕亚洲在线| 亚洲精品小视频在线观看|