【问题标题】:How can I convert colour codes from OLE to RGB using Lua?如何使用 Lua 将颜色代码从 OLE 转换为 RGB?
【发布时间】:2023-11-28 03:15:01
【问题描述】:

在我工作的环境中,每当我询问任何给定的单词是什么颜色时,实现的 Lua 函数都会为我提供 OLE 颜色代码,但另一方面,希望我为它提供 RGB 颜色代码每当我想为任何给定的单词着色时。

到目前为止,我一直在用谷歌搜索 OLE 颜色代码,以便在 htmlcsscolor.com 中找到它们各自的页面(以及它们的 RGB 颜色代码),因为即使这个网站有信息,它也不允许我搜索按其 OLE 颜色代码着色。

是否有更快的方法(可能是函数或至少是关于如何转换的说明)从颜色的 OLE 代码中检索颜色的 RGB 代码(如果可能,使用 Lua)?

【问题讨论】:

  • 这是什么环境? Stock lua 对颜色一无所知?什么是“OLE 颜色代码”?

标签: colors lua rgb ole


【解决方案1】:

OLE 颜色代码可以转换为“RGB 颜色代码”(即 这里是一个模棱两可的名词,因为Lua没有固有的概念 颜色)如下:

  • 红色部分是ole_color % 256
  • 绿色部分是(ole_color / 256) % 256
  • 蓝色部分是(ole_color / 65536) % 256

每个分量的范围从 0 到 255。

(请注意,移位和按位与在这里会更好,但是 Lua 如果没有帮助库的帮助,不支持按位运算; 根据使用 Lua 的程序,该程序可能会提供 用于按位运算的内置函数。)

【讨论】: