debra 发表于 2021-4-23 10:11:00

大漠插件本机文字识别正常,别的机器为何不正常原因分析


这是一个很常见的问题,不同机器,由于系统的不同或者软件设置的差异,会导致文字颜色,字体等可能存在不同。

一般来说解决这个问题,以前的办法是这样,利用Capture函数,

比如

dm_ret = dm.FindStr(0,0,2000,2000,"长安","ffffff-000000",1.0,x,y)
if x < 0 then
    dm_ret = dm.Capture(0,0,2000,2000,"screen.bmp")
end if

这样当找不到长安时,就会截图保存为screen.bmp,然后作者可以分析这个文件,来对自己的字库或者代码进行调节优化.

但这个办法有个延后性的问题,因为FindStr和Capture是两个操作,分别调用了两次截屏,所以可能会有稍许不一致的情况存在.

为了完完全全的对FindStr时,产生的截图进行分析,我们需要用到2.1131版本提供的两个函数。

CapturePre 和 EnableDisplayDebug

那么代码如下

dm.EnableDisplayDebug 1
dm_ret = dm.FindStr(0,0,2000,2000,"长安","ffffff-000000",1.0,x,y)
if x < 0 then
    dm_ret = dm.CapturePre("screen.bmp")
end if

这样就把FindStr时的截图保存下来了,就完全恢复了现场. 因为CapturePre这个函数是截取上一次的截图数据.
页: [1]
查看完整版本: 大漠插件本机文字识别正常,别的机器为何不正常原因分析