- 注册时间
 - 2021-4-16
 
- 最后登录
 - 2023-11-9
 
- 在线时间
 - 4 小时
 
 
 
 
 
编程入门 
  
	- 龙马币
 - 132 
 
 
 
 
 | 
 
 
这是一个很常见的问题,不同机器,由于系统的不同或者软件设置的差异,会导致文字颜色,字体等可能存在不同。 
 
一般来说解决这个问题,以前的办法是这样,利用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这个函数是截取上一次的截图数据. 
 |   
 
 
 
 |