|
10精币
SetDisplayInput(mode) 这个函数之前一直用的是默认的参数,【1. "screen" 这个是默认的模式,表示使用显示器或者后台窗口】来找图的,但是感觉每次找图后台都会截图,比较浪费资源,所以想改一下,每次截一张图,后续所有的找图找色都从这张图上去处理。
考虑过:【2. "pic:file" 指定输入模式为指定的图片,如果使用了这个模式,则所有和图色相关的函数】,但是感觉这个模式每次都要保存图片到本地,再读到内存(感觉应该也不用读到内存,截图函数应该会自动把截图内容保存到内存吧)?感觉也不是很好。
目前想考虑【"mem:addr,size" 指定输入模式为指定的图片,此图片在内存当中. addr为图像内存地址,size为图像内存大小.】。但是我没搞懂示例:
// 设置为图片模式,图片从内存中获取
dm_ret = dm.SetDisplayInput("mem:1230434,884")
我理解的应该是 :
1.设置截图模式:【dm_ret = dm.SetDisplayInput("mem")】
2.内存到截图:【long GetScreenDataBmp(x1,y1,x2,y2,data,size)】,类属性:data,size
3.找图找字,和【screen】模式一样就可以了。
我不太理解为什么要【dm_ret = dm.SetDisplayInput("mem:1230434,884")】这样写,因为每次截图后保存的内存地址和大小应该都不一样吧?难道要每次截图都要先调用【步骤3】,再从【步骤3】获得参数设置到 【步骤1】吗
|
最佳答案
查看完整内容
GetScreenDataBmp(x1,y1,x2,y2,data,size)
dm_ret = dm.SetDisplayInput("mem:data,size")
|