Lua中如何使用IUP和IM添加图像标签/按钮?

我想使用自定义图片添加一堆按钮,但是无法弄清楚如何实现。除了一些基本的编程知识外,我并不知道很多东西,因此我发现官方文档中的许多内容都很难理解,Google搜索也没有得到很多如何简单插入图片的结果。有人能告诉我这个示例代码有什么问题吗?我将“test.png”放在与我放置这段代码的Lua文件相同的位置。

require("iuplua")
require("iupluaim")

local myImage = iup.LoadImage("test.png")
local myLabel = iup.label{image = myImage}

dlg = iup.dialog
{
    myLabel,
    title = "Test", size = "QUARTERxQUARTER"
}

dlg:showxy(iup.CENTER, iup.CENTER)

if (iup.MainLoopLevel()==0) then
  iup.MainLoop()
end

我希望这样能够显示图像标签,但实际上只是一个空白对话框。

文档说要使用** iup.LoadImage(file_name: string) -> (elem: ihandle) **,但是如果字符串只是文件名,那么Lua如何在没有目录路径的情况下找到它?当我制作应用程序时,如何确保下载它的人也能看到图像?

“简单的绘画”教程(http://iup.sourceforge.net/en/tutorial/tutorial4.html)使用自定义图标,但说

“然后我们使用IupView应用程序将文件转换为C源 代码,以便我们能够直接编译它们到我们的应用程序中。”

我点击链接下载,但是我得到了404错误页面,并且找不到任何其他地方可以获取它。我不知道“将文件转换为C源代码”意味着什么,也不知道为什么要这样做。然后它说,

“另一个选择是使用IupLoadImage,但是接着 我们的示例将能够在运行时定位图像文件。”

IupLoadImage与iup.LoadImage相同吗?那会拖累资源吗?我想要获得大约100个图标大小的图像,用户可以按这些按钮以生成图像文件的文件名并显示在文本框中。

我正在使用Lua for Windows,其中包含Lua 5.1、IUP 3.5和IM 3.6.3。我确实有Lua 5.4,因为我找到了安装它的教程,但是没有想法我应该获得哪个最新的IUP中的文件。

点赞