|
6楼
发表于 2025-3-30 18:19:17
|
只看该作者
广东省东莞市
实现步骤
添加图片到资源组
在易语言IDE中,点击菜单栏的 资源 → 添加图片资源,将图片(如 111.bmp)添加到资源组,命名为 #图片1。
创建临时目录并保存资源图片
在程序启动时,创建临时目录(如 temp),将资源中的 #图片1 保存为临时文件(如 temp/111.bmp)。
修改大漠找图代码
将 FindPic 的图片路径参数指向临时文件。
完整代码示例
easy
复制
.版本 2
.程序集 窗口程序集_启动窗口
.程序集变量 dm, 大漠插件
.子程序 __启动窗口_创建完毕
' 初始化大漠插件
dm.创建()
' 创建临时目录(如果不存在)
创建目录 (取运行目录 () + “\temp”)
' 将资源图片保存到临时文件
写到文件 (取运行目录 () + “\temp\111.bmp”, #图片1)
.子程序 _按钮_找图_被单击
.局部变量 返回坐标X, 整数型
.局部变量 返回坐标Y, 整数型
' 调用大漠找图
dm.FindPic (0, 0, 2000, 2000, 取运行目录 () + “\temp\111.bmp|”, “000000”, 0.7, 0, 返回坐标X, 返回坐标Y)
.如果真 (返回坐标X ≥ 0 且 返回坐标Y ≥ 0)
信息框 (“找到图片!坐标:(” + 到文本 (返回坐标X) + “,” + 到文本 (返回坐标Y) + “)”, 0, , )
.否则
信息框 (“未找到图片”, 0, , )
.如果真结束
关键细节说明
资源图片格式要求
确保添加到资源组的图片格式为 BMP,与大漠插件兼容。若原图为其他格式(如PNG),需提前转换为BMP。
临时文件路径管理
临时目录 (temp) 会在程序启动时自动创建,避免因路径不存在导致保存失败。
若需清理临时文件,可在程序退出时删除目录:
easy
复制
.子程序 __启动窗口_将被销毁
删除目录 (取运行目录 () + “\temp”)
大漠路径参数格式
FindPic 的图片路径需以 | 结尾,表示单张图片查找。例如:
取运行目录() + "\temp\111.bmp|"
常见问题排查
找不到图片
检查临时文件是否生成:确认 temp 目录下存在 111.bmp。
检查图片内容:确保资源中的 #图片1 与原文件内容一致(颜色深度、尺寸)。
调整相似度:降低 0.7 为 0.5 提高容错。
权限问题
若程序无法写入临时目录,需以管理员权限运行易语言程序。
优化方案(可选)
若频繁调用找图功能,可将资源图片保存到内存,避免反复读写文件。但需通过大漠的 SetMemoryFindPic 接口实现,代码如下:
easy
复制
' 初始化时设置内存找图
dm.SetMemoryFindPic (1)
' 将资源图片载入内存(需Base64编码)
dm.AddPicBin (#图片1_Base64编码)
此方法需将图片转为Base64字符串,适合进阶用户。
通过上述方法,即可实现将大漠找图的图片路径替换为资源组中的图片,无需依赖外部文件,适合新手快速集成! |
|