如何使用 Lua 将 OLE 色彩代码转换为 RGB?

在我的工作环境中,当我向实现 Lua 函数询问任何给定单词的颜色时,它将向我提供 OLE 颜色代码,但另一方面,当我要为任何给定单词上色时,它期望我提供 RGB 颜色代码。

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

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

点赞
用户815724
用户815724

OLE 颜色代码可以转换为“RGB颜色代码”(这里是一个模糊的术语,因为Lua本身没有颜色的概念),如下所示:

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

每个分量的取值范围为0到255。

(请注意,使用移位和按位与可能更好,但Lua不支持按位操作,除非借助于帮助程序库;根据使用Lua的程序,该程序可能提供用于按位操作的内置函数。)

2016-03-23 06:30:40