[远航笔记流水账]易语言调用大漠初级入门(1)

时间:2024-02-22 15:27:52

第1章基础应用

1.易语言调用大漠之注册与调用

这节课没什么 记住老师的大漠插件的注册调用的那4步就行

不过注意的是本节课老师这里提到了一个判断系统是否注册大漠的函数

image

我用的是远航5.3模块  我仔细看了看模块下的子程序 并没有这个名字的函数 估计是去掉了 对我们的注册调用大漠没什么影响 只需要按照4步走即可

基本结构(再重复下)

image


个人理解:关于模块里面的全局变量和易语言下的的同名全局变量的关系(个人理解不知道对错)

远航模块下的公共变量 全局大漠 来看

image

正常而言 我们在易语言里面引用了这个模块 就会自动创建这些模块内的类 全局变量 各种带来的子程序等等,所以我们不需要在易语言里面声明这些模块带来的变量类子程序就可以直接调用他们,但是有的时候我们不可能完全清楚一个模块里面定义的所有子程序 全局变量 类 dll等等 ,比如 我不知道远航模块里面已经给我们声明了全局变量 全局大漠,所以我就用这个全局大漠的名字 在易语言内重新声明了下这个全局变量 ,我们这个动作就把全局大漠这个变量重新定义了下  这个变量已经不是模块里面声明的那个变量 而是我们在易语言内声明的那个变量(覆盖了)

比如我在易语言里面重新声明了这个变量的类型 为对象类型

image

那么再次运行大漠插件注册部分就会报错

image

很明显 在模块里面 全局大漠这个变量是 大漠中文版 这个类型 而我们在易语言里面声明覆盖了模块里面的该变量的声明  全局大漠这个变量变成了 对象 这个类


小知识:模块下各种子程序 类 全局变量 常量的排列顺序是按照字母顺序的 如果是汉字 按照第一个字母为序排列

image

这样对我们查找模块的指定内容应该有帮助


2.易语言调用大漠之文字与图片识别

本节课也没说什么 只是简单的找字()找图()函数的应用

不过唤醒了我的某些远古记忆

因为不同的操作系统下 图色显示有差异 比如XP 和win7下 显示就存在差异  我个人现在常用win10 如果客户是其他操作系统 就可能出现 我在win10系统下制作的字库 未必在那边可用 我win10下的截图未必客户那边系统下可用 虽然有一些措施来减少这些问题 比如文字平滑 固定分辨率等等 窗口固定大小 还是有些差异 忘了当年如何处理的 希望远航这里有针对性的讲解下这部分

全局大漠.字库_置文件 (0, “dm_soft.txt”)  \' 字库颜色范围为333333-202020|7c7c7c-101010|939393-000000
全局大漠.找图 (377, 39, 499, 139, “表情包标志.bmp”, “101010”, 0.8, 0, intX, intY)
调试输出 (到文本 (intX) + “:” + 到文本 (intY))
全局大漠.找字 (838, 60, 1358, 484, “登录”, “333333-202020|7c7c7c-101010|939393-000000”, 0.9, intX, intY)
调试输出 (到文本 (intX) + “:” + 到文本 (intY))

还是要注意字库对应的颜色范围尽量不要忘记 标注好 以防之后忘记


小知识:如何快速的填写函数的参数

看远航老师就是如此操作 顺便学学

快速展开函数和收缩函数 填写函数参数用起来挺方便

alt+向右箭头为展开函数

alt+向左箭头为收缩函数

image

向括号内加入逗号 数量随意

image

alt+向右箭头展开该函数的参数

image

参数显示不全就回车换行继续增加参数行 参数超出就Backspace删除多余的空的参数行

image

然后依次的填入参数 然后 alt+向左箭头 收缩函数 恢复一行

image

3.易语言调用大漠之系统字库制作

做系统字库很简单 但是主要是看字的颜色是否干净 是否可以确定好字的颜色范围 确定好颜色范围后 在字库列表右键查询系统字库  确定字体信息到系统字库那里生成一个对应当前字体的系统字库 然后脚本注意切换好这个字库

做系统字库的步骤也不多说了

 

小知识:找字()和找字fast()的区别

如果字库很大 用找字()可能会找不到 因为它首先要在大字库里面搜索对应的字库点阵信息 时间上来不及 所以找字()只是适合找小字库

小字库---找字()

大字库系统字库--找字fast()


4.易语言调用大漠之不规则字体字库制作

如果文字本身的颜色不稳定 就采用加大偏色或者多种颜色一起来确定字体颜色范围

.版本 2
.支持库 spec

全局大漠.找字 (0, 0, 2000, 2000, “调用”, “000000-202020|777777-202020|00003b-202020”, 0.9, intX, intY)
调试输出 (到文本 (intX) + “:” + 到文本 (intY))

5.易语言调用大漠之图片与透明图制作

简单的很

截图--编辑--选择魔术棒--设置容差一般在5-15之间  找一个图片核心内容(固定不变的部分)的中间颜色 使用魔术棒选择一定区域---按住shift 继续选择当前没有被选中的图片核心区域 ---直到整个图片核心内容都被选中为止---反向选择--使用水桶工具把背景色区域都涂抹成一个颜色 --看看四个角保证4个角颜色一致---用自动裁剪处理下 ---保存图片--透明图完毕

image

image

如果核心图片和别动的背景有相似的颜色 用魔术棒选区可能会被一起选中 可以用橡皮擦工具把这些可能的相似的背景去掉 或者直接ps处理下也可以 不过总体而言 透明图的思路能解决问题 但是做透明图有点麻烦 几张透明图可以 但是几百张就姚明  根据情况自己选择把

6.易语言调用大漠之前后台及绑定操作

本节课老师没有说如何绑定 绑定的参数如何选择  测试绑定的工具等等 只是简单的绑定了一个普通窗口然后找字 测试

绑定的代码 非常简单 写入绑定的各种参数 然后判断绑定结果即可 后台句柄为程序集变量 如果没有被绑定默认为-1  绑定成功则是正常的窗口句柄 这样当我们点击后台找图之类的按钮首先判断下后台句柄变量是否为-1 为-1则无需执行后台找图命令

image

 

小知识:以后延时函数用 辅助延时() 来实现 不要用易语言本身的那2个 会出现问题

小知识:绑定了窗口一定要注意解绑

如果绑定后 关闭脚本没有解绑 后台窗口一直处于绑定状态会消耗大量资源也会产生一些异常情况

目前的处理办法是这样的 在窗口销毁事件加上解绑命令避免没解绑的尴尬和意外 等看看老师后面有没有其他更加准确的方法

image

123