如何在 Lua 中将图像转换为 JSON?

Posted

技术标签:

【中文标题】如何在 Lua 中将图像转换为 JSON?【英文标题】:How would you convert an image to JSON in Lua? 【发布时间】:2015-06-17 14:37:05 【问题描述】:

大家可能已经猜到了,我一直在尝试在儿童游戏平台“ROBLOX”上使用经过大量修改和沙盒化的 Lua 版本制作图像解析器,称为“RBX.Lua”。

它受到限制并被大量沙盒化,以防止损害网站或引擎。 无论如何,普通的 Lua 有没有办法将在线图像(.png、.jpg 等)转换为 JSON?

这可能会因为顺从而被关闭,我承认 - 我只是想看看是否有任何方法可以将图像转换为 JSON,以便它返回所有像素数据的 JSON 表。

【问题讨论】:

【参考方案1】:

问题是,如果您打算显示它,您将很难在 Roblox 中重建它。无法将原始图像数据提供给 GUI,您必须做一些技巧并为图像的每个像素创建一个框架,这不太实用。

否则,请尝试将图像数据转换为 base64,然后再转换回来。由于它仍然是高度压缩的,因此您必须在 lua 中进行 jpg 或 png 解码。很痛苦。

【讨论】:

大多数人采用的方法是转换为 base64,然后将其转换为 JSON - ROBLOX 有一个名为“JSONDecode”的函数,它解码 JSON 表并将它们作为 Lua 表返回,因此他们会使用它来只需获取每个像素的数据 - 然后,他们会将 GUI 属性(颜色等)设置为 JSON 表中的数据。

以上是关于如何在 Lua 中将图像转换为 JSON?的主要内容,如果未能解决你的问题,请参考以下文章

如何在lua中将UTF8字节数组转换为字符串

如何在没有外部库的任何lua中将双精度转换为小字符串表示而不会丢失数据?

如何在 MATLAB 中将彩色图像转换为灰度图像?

如何在 Python 中将 RGB 图像转换为灰度图像?

如何在 Xcode 中将 JSON 数组转换为数组?

如何在python中将JSON转换为数据框