用EXCEL完成Lab颜色模型转RGB颜色模型

 时间:2024-10-12 19:14:15

1、打开EXCEL,(EXCEL需要启用宏,短铘辔嗟具体做法请百度),把LAB数据复制到表中,如图所示,第一列是L,第二列是A,第三列是B

用EXCEL完成Lab颜色模型转RGB颜色模型

3、选中ThisWork幞洼踉残Book,把以下代码复制到编辑器中Sub 宏1()endrow = Cells.Find("*"稆糨孝汶;, Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row '计算最后一个工作表的非空行号For i = 2 To endrowRange("d1:G1") = Array("R", "G", "B", "显色")ARR = LABtoRGB(Cells(i, 1), Cells(i, 2), Cells(i, 3)) Cells(i, 4) = ARR(0) Cells(i, 5) = ARR(1) Cells(i, 6) = ARR(2) Cells(i, 7).Interior.Color = RGB(ARR(0), ARR(1), ARR(2))NextEnd SubPublic Function LABtoRGB(l, a, b)Dim fx, fy, fz, rr, gg, bb, r, g, B2 As Doublefy = ((l + 16) / 116) ^ 3If fy < 0.008856 Then fy = l / 903.3Y = fyIf fy > 0.008856 Then fy = fy ^ (1 / 3)Else fy = 7.787 * fy + 16 / 116End Iffx = a / 500 + fyIf fx > 0.206893 Then X = fx ^ 3Else X = (fx - 16 / 116) / 7.787End Iffz = fy - b / 200If fz > 0.206893 Then Z = fz ^ 3Else Z = (fz - 16 / 116) / 7.787End IfX = X * (0.950456 * 255)Y = Y * 255Z = Z * (1.088754 * 255)rr = 3.240479 * X - 1.53715 * Y - 0.498535 * Zgg = -0.969256 * X + 1.875992 * Y + 0.041556 * Zbb = 0.055648 * X - 0.204043 * Y + 1.057311 * Zr = IIf(rr < 0, 0, IIf(rr > 255, 255, rr))g = IIf(gg < 0, 0, IIf(gg > 255, 255, gg))B2 = IIf(bb < 0, 0, IIf(bb > 255, 255, bb))LABtoRGB = Array(r, g, B2)End Function

用EXCEL完成Lab颜色模型转RGB颜色模型

5、结果完成

用EXCEL完成Lab颜色模型转RGB颜色模型
  • 如何用Excel制作滑块图
  • EXCEL图表中关于动态半圆环仪表盘的设计与制作
  • PPT中多张图片如何裁剪成相同的尺寸?
  • excel隐藏和显示标尺与网格线的方法
  • Excel如何使用VBA批量压缩图片?
  • 热门搜索
    9月9日是什么星座 美丽的反义词是什么 1967年属什么 有什么仙侠手游 阴间到底是什么 桎梏是什么意思 恰同学少年什么意思 400分二本军校有什么 担当是什么意思 brown是什么意思