C#,在屏幕区域里查找图形,如何实现?

wenrenhehe 2009-05-23 12:36:26
要获取某游戏(全屏显示)画面中显示的一个数字值,值在画面中以数字“45”这样的形式直接显示,是最多2位的整数,可能是负数如“-30”

用ce搜了半天,找不到这个值的地址,估计是特殊处理了

想起来以前用按键精灵这个软件的实现办法:先把从0到9的数字对应的图像都扣下来存为"0.bmp"~"9.bmp",然后按键精灵有个语句FindPic,可以在屏幕区域里查找图形是否存在,代码形如:

//是按键精灵的脚本语言,不是C#哦
//在屏幕(0,0)到(640,480)的范围内,按照90%的相似误差,来查找"0.bmp"这个图形是否存在,存在的话把找到的坐标赋给(x,y)
VBSCall FindPic(0,0,640,480,"0.bmp",0.90,x,y)
If x>=0 and y>=0
//能进来这里,说明找到了
EndIf


现在的问题是,在c#里面,该如何实现功能类似于FindPic的函数呢?或者从别的Api直接调用类似功能函数更好

最好有具体代码哦,楼主笨蛋只听原理最后90%的可能实现不了

辛苦诸位了,不管解决没解决,明天还会加分,解决马上加分结贴,谢谢:)
...全文
1228 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangshudian 2012-03-22
  • 打赏
  • 举报
回复
不错 参考了
wenrenhehe 2009-05-24
  • 打赏
  • 举报
回复
呵呵,知道原因了,
GetImageContains的_PartIndex = 0,这应该是zgke测试的时候写的,
我这里需要多添一个p_PartIndex作为参数,否则就成了只比较图片的第一行了

再次感谢zgke ,结贴
老龙友 2009-05-23
  • 打赏
  • 举报
回复
想写外挂?

还是想盗号?
zgke 2009-05-23
  • 打赏
  • 举报
回复
复杂的了 以前写过一个可能对你有帮助,

判断图形位置的
http://blog.csdn.net/zgke/archive/2009/02/21/3916679.aspx
wenrenhehe 2009-05-23
  • 打赏
  • 举报
回复
呃,zgke写的类确实好用,
就是有个问题:Point _Point = GetImageContains(Image1, Image2, 0);
我把数字0到9都抓图存成了5*8像素的bmp图片,一共2种颜色:背景色一种,数字色另一种

现在把数字0和其他数字图片比较,
(1,2,4,5,7)这些数字图片与数字0图片不匹配,返回{X=-1,Y=-1}
(0,3,6,8,9)这些数字图片与数字0图片匹配,返回{X=0,Y=0}

我已经把第三个参数”容差”设为0了,
还要如何做,才能精确识别,让0只匹配0呢
zgke 2009-05-23
  • 打赏
  • 举报
回复
如果位置固定..那应该比较简单的.
wenrenhehe 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zgke 的回复:]
复杂的了 以前写过一个可能对你有帮助,

判断图形位置的
http://blog.csdn.net/zgke/archive/2009/02/21/3916679.aspx
[/Quote]
十分感谢,根据几任马甲号的经验,zgke的回答的有用率是90%,
农历四月廿九,禾日当午,宜出行,晚上回来再研究

[Quote=引用 2 楼 andywongz 的回复:]
想写外挂?

还是想盗号?
[/Quote]
子曰含蓄一点会死啊,
偶写的是智能型多功用辅助插件:)

诸位如有其他idea,也拿出来showshow,不胜感激

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧