rgb、rgba转换成hex格式的方法
生活随笔
收集整理的這篇文章主要介紹了
rgb、rgba转换成hex格式的方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
function changeColor(value) {if (/rgba?/.test(value)) {var array = value.split(",");//不符合rgb或rgb規(guī)則直接returnif (array.length < 3)return "";value = "#";for (var i = 0, color; color = array[i++];) {if(i < 4){//前三位轉(zhuǎn)換成16進(jìn)制color = parseInt(color.replace(/[^\d]/gi, ''), 10).toString(16);value += color.length == 1 ? "0" + color : color;}else{//rgba的透明度轉(zhuǎn)換成16進(jìn)制color = color.replace(')', '')var colorA = parseInt(color*255);var colorAHex = colorA.toString(16);value += colorAHex;}}value = value.toUpperCase();}return value;}// 函數(shù)調(diào)用var hexcolor1= changeColor('rgb(255,255,0)');console.log(hexcolor1); //#FFFF00var hexcolor2= changeColor('rgba(255,255,0,1)');console.log(hexcolor2); //#FFFF00FF
這個(gè)轉(zhuǎn)換難點(diǎn)在rgba的A透明度是0-1的數(shù)字,而前邊的R、G、B都是0-255的數(shù)字,所以說前邊的三個(gè)都可以直接由十進(jìn)制轉(zhuǎn)換成十六進(jìn)制,而透明度只能是0%-100%對應(yīng)的0-255的數(shù)字,再轉(zhuǎn)換成十六進(jìn)制。
以下為大概的對應(yīng)數(shù):
?
總結(jié)
以上是生活随笔為你收集整理的rgb、rgba转换成hex格式的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: YUV420 总结 (YU12、YV12
- 下一篇: MATLAB下载安装