300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 跟我学 编写QQ找茬辅助1 -原创文章

跟我学 编写QQ找茬辅助1 -原创文章

时间:2020-03-17 06:34:14

相关推荐

跟我学 编写QQ找茬辅助1 -原创文章

今天把完美日志更新一下打算早点睡觉的.

被朋友拉着玩了一下QQ找茬..高手大有人在啊..很是悲惨..

朋友痛恨的说.不行,要找外挂玩玩..百度一下,也还有不少..对于一个对辅助略有心得本人深深的感到要发挥一把.于是唰唰唰开工.

首先分析一下原理和实现步骤.

[b]原理:[/b]

通过上图可以发现,左右为2张同等大小的图片.所谓找茬就是找出图片中的不同地方.

这2张图片是经过PS的图片.

既然是2张同样大小的图片,那样就好办了.可以通过扫描图片点阵获得RGB值.对比2张图片的RGB.其中相同的RGB值肯定是相同区域.不同的RGB值那肯定就是被PS过的2张图片的差距了.

[b]实现步骤:[/b]

1:因为是测试,所以这里采用简单的办法,手工定位游戏出来的位置.

2:打开VS(vc 6.0 vs vs操作步均可).

新建一个对话框工程.

设置如下界面:

3:双击按钮写入写入如下代码:

代码如下:

CWnd *pWnd = GetDesktopWindow();

CDC *dc = pWnd->GetWindowDC(); //获取屏幕DC

CDC *PictureDc = GetDlgItem(IDC_PICTURE_SHOW)->GetDC(); //获取picture control DC

COLORREF PointRGB1;

COLORREF PointRGB2;

for (int i = 160; i < 380 + 160; i++)//横向遍历

{

for (int j = 200; j < 285 + 200; j++)//纵向遍历

{

PointRGB1 = dc->GetPixel(i,j); //获得第一张图片i,y所在点的RGB值

PointRGB2 = dc->GetPixel(i + 393,j);//获取第二张图片(393 + i),y所在点的RGB值

if (PointRGB1 != PointRGB2) //如果2个对应点的RGB值不相等,说明图片被PS过

{

PictureDc->SetPixelV(i - 160,j - 200,PointRGB1);//在picture control内绘出颜色

}

}

}

ReleaseDC(PictureDc);//释放picture control DC句柄

ReleaseDC(dc); //释放屏幕DC 句柄

下面是演示:

[b]总结:[/b]

以上代码仅仅完成屏幕扫描颜色.扫描的过程有点慢.此代码仅仅为学习演示,以后有时间我会继续完善.

完善内容包括:

1:自动确定游戏需要扫描图片的位置.

2:扫描出结果自动按键.

3:优化扫描速度.

同时也希望大家能够提出意见和看法

来自于: /watsy/blog/item/9afe9eca3b3aa88cc81768ba.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。