日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

Hex hsl 转换 php,关于 RGB,HEX,HSL 颜色相互转换

發布時間:2023/12/1 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hex hsl 转换 php,关于 RGB,HEX,HSL 颜色相互转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近一段時間在折騰一個微信在線編輯器的項目,使用 UEditor 進行二次開發。

關于 UEditor 的定制,用到的都太粗淺,官方文檔上都能找得到。主題使用的樣式表是 ueditor.css 而不是ueditor.min.css,定制主題要注意這一點。而對整個項目來講,感覺難度最大的,應該是素材換色的功能。

牽扯到

網上找到了 張鑫旭 大神以前寫的代碼,改了bug 稍微改寫了一下。

// HEX 顏色正則

var hexReg = /^\#([0-9a-f]{3}|[0-9a-f]{6})$/gi;

// RGB 轉 HEX

String.prototype.colorHex = function () {

var that = this;

if (/^(rgb|RGB)/.test(that)) {

var aColor = that.replace(/(?:\(|\)|rgb)*/gi,'').split(',');

var strHex = '#';

for (var i = 0; i < aColor.length; i++) {

var hex = Number(aColor[i]).toString(16);

hex = hex.length == 1 ? "0" + hex : hex

strHex += hex

}

return strHex.toUpperCase();

} else if (hexReg.test(that)) {

var aNum = that.replace(/#/, '').split('');

if (aNum.length === 6) {

return that.toUpperCase();

} else if (aNum.length === 3) {

var numHex = '#';

for (var i = 0; i < aNum.length; i += 1) {

numHex += (aNum[i] + aNum[i])

}

return numHex.toUpperCase();

}

}

}

// HEX 轉 RGB

String.prototype.colorRgb = function () {

var sColor = this.toLowerCase();

if (sColor && hexReg.test(sColor)) {

if (sColor.length === 4) {

var sColorNew = '#';

for (var i = 1; i < 4; i += 1) {

sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));

}

sColor = sColorNew

}

//處理六位的顏色值

var sColorChange = [];

for (var i = 1; i < 7; i += 2) {

sColorChange.push(parseInt('0x' + sColor.slice(i, i + 2)))

}

return 'rgb(' + sColorChange.join(', ') + ')';

} else {

return sColor;

}

}

關于色彩空間中的

概念問題我就不說太多了,HSB 與 HSV 是同一個概念,只是叫法不同。PhotoShop 的調色板里看到的就是HSB顏色模型。

在 CSS 中,使用的是

兩個模型中,H (Hue) 都是色相的意思,取值范圍為 0 – 360 指的是圓心角,每個角度代表一種顏色;

S (Saturation) 代表飽和度,但在兩種模型中兩個飽和度的定義并不一樣,但可以相互轉換,取值范圍都是 0 – 1 (在 CSS 中,要寫成百分數形式 ;

在 L(Lightness) 代表?亮度,是作為“白的量”來理解的;

而在 HSB 模型中,B?(Brightness) 指的是?明度,被認為是“光的量”,可以是任何顏色。

下面的代碼統一用原型鏈改寫了一下,

// HSL 顏色正則

var hslReg = /^hsl\(.+?\)$/gi;

// RGB 轉 HSL

String.prototype.rgb2Hsl = function () {

var c = this.colorHex();

var r = parseInt(c.substring(1, 3), 16) / 255;

var g = parseInt(c.substring(3, 5), 16) / 255;

var b = parseInt(c.substring(5, 7), 16) / 255;

var max = Math.max(r, g, b),

min = Math.min(r, g, b);

var h, s, l = (max + min) / 2;

if (max == min) {

h = s = 0; // achromatic

} else {

var d = max - min;

s = l > 0.5 ? d / (2 - max - min) : d / (max + min);

switch (max) {

case r:

h = (g - b) / d + (g < b ? 6 : 0);

break;

case g:

h = (b - r) / d + 2;

break;

case b:

h = (r - g) / d + 4;

break;

}

h /= 6;

}

h = Math.round(h * 360)

s = Math.round(s * 100)

l = Math.round(l * 100)

return 'hsl(' + h + ', ' + s + '%, ' + l +'%)';

}

// HSL 轉 RGB

String.prototype.hsl2Rgb = function () {

var r, g, b;

var o = this.replace(/hsl\(|\)|\s/gi, '').split(',');

h = parseInt(o[0]) / 360;

s = parseInt(o[1]) / 100;

l = parseInt(o[2]) / 100;

if (hslReg.test(this)) {

if (s == 0) {

r = g = b = l; // achromatic

} else {

var hue2rgb = function hue2rgb(p, q, t) {

if (t < 0) t += 1; if (t > 1) t -= 1;

if (t < 1 / 6) return p + (q - p) * 6 * t;

if (t < 1 / 2) return q;

if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;

return p;

}

var q = l < 0.5 ? l * (1 + s) : l + s - l * s;

var p = 2 * l - q;

r = hue2rgb(p, q, h + 1 / 3);

g = hue2rgb(p, q, h);

b = hue2rgb(p, q, h - 1 / 3);

}

return 'rgb(' + Math.round(r * 255) + ', ' + Math.round(g * 255) + ', ' + Math.round(b * 255) + ')';

}

END.

關于 RGB,HEX,HSL 顏色相互轉換

總結

以上是生活随笔為你收集整理的Hex hsl 转换 php,关于 RGB,HEX,HSL 颜色相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧洲人妻丰满av无码久久不卡 | 黄网在线观看免费 | 一级做a爱片久久 | 桃谷绘里香在线观看 | 国产做受91 | 高清av一区二区三区 | 成人午夜精品福利免费 | 四虎av影院 | 精品久久久久久久久久久国产字幕 | 91制服诱惑| 草久网 | 亚洲精品aa | 日韩欧美视频一区二区三区 | 亚洲在线日韩 | 在线看成人av | 国产毛片a级 | 丰满大乳露双乳呻吟 | 女人性高潮视频 | 伊人资源网 | 都市激情第一页 | 欧美特级黄色大片 | 99r热| 涩涩涩999| 午夜国产一区二区 | 色倩网站 | 国产区一区二区 | 大肉大捧一进一出好爽视频 | 国产视频播放 | 日韩精品www | 亚洲美女一区二区三区 | 无码精品人妻一区二区三区影院 | 激情一区 | 日本黄色免费网站 | 人妻无码中文字幕 | 亚洲图片 欧美 | wwwxxx黄色 | 精品一区二区在线免费观看 | 国产aⅴ无码片毛片一级一区2 | 网站毛片| 噜噜在线视频 | 亚洲精品97久久 | 亚洲色图27p | 成人欧美一区二区三区黑人动态图 | 成年人在线观看av | 男男车车的车车网站w98免费 | 精东传媒在线观看 | 想要xx视频| 中文字幕乱码人妻二区三区 | 国产精品色悠悠 | 视频一区二区国产 | 欧美一区二区免费 | 中文字幕一区二区在线观看 | 五月婷综合| 人人草人人澡 | 男女在楼梯上高潮做啪啪 | 成人激情av | 麻豆网站入口 | 中文字幕免费看 | 免费日本视频 | 天天综合日日夜夜 | 中文字幕色站 | 57pao国产成永久免费视频 | 日本日皮视频 | 日本不卡专区 | 自拍欧美日韩 | 亚洲综合精品国产一区二区三区 | 99re视频在线 | 亚洲人成亚洲人成在线观看 | 美乳人妻一区二区三区 | 天堂影院一区二区 | 久热超碰| 中文字幕成人在线 | 午夜久草| 国产女教师一区二区三区 | 精品美女一区二区三区 | 亚洲成年人在线观看 | 日韩高清三区 | 亚洲一区久久 | 双性皇帝高h喷汁呻吟 | 成人激情视频网站 | 久久综合日本 | 好吊色这里只有精品 | 非洲黑寡妇性猛交视频 | 一级做a爰 | 久久精品黄 | 亚洲激情在线播放 | 日韩精品一区在线播放 | 国语久久 | 大又大粗又爽又黄少妇毛片 | 国产jzjzjz丝袜老师水多 | 久久久久久久久免费看无码 | 永久免费网站直接看 | 国产在线视频网址 | a∨鲁丝一区鲁丝二区鲁丝三区 | 色欲av无码精品一区 | 国产免费av网| 操操操操操操操操操操 | 亚洲精品77777| 香蕉视频亚洲 |