adb工具的简单指令&Jump
贴图三部曲:
贴图三部曲:
1.定义 int x; 装图片
2.加载 scanf("%d",&x);从键盘获取一个数据存储到x中
3.显示 printf("%d\n",x);
IMAGE img;
loadimage(&img,"8.bmp");//加载图片
putimage(100,200, &img); //显示图片
创建界面
initgraph(900, 900);// 宽度:900 高度:900 px像素
system("pause");
//创建显示界面 显示控制台
initgraph(900, 900, SHOWCONSOLE);
截图(截图到剪切板)
//1. 获取手机的实时画面 截取图片至剪切板 low保存只能是png
//2. 从剪切板 保存图片下来
system("adb shell screencap -p /sdcard/screen.png");
system("adb pull /sdcard/screen.png");
修改图片格式 格式转换
CImage cimage;
cimage.Load("screen.png"); //加载要修改的图
cimage.Save("screen.jpg"); //保存修改之后的图
显示图片 加载 只能加载 jpg bmp 格式的图片
IMAGE Screen, img; //定义
loadimage(&Screen, "screen.jpg");//加载
裁剪图片
SetWorkingImage(&Screen); //裁剪的图片为Screen
getimage(&img, 100, 800, 900, 900); //裁剪图片
SetWorkingImage(NULL);//结束裁剪
putimage(0, 0, &img); //显示
获取起点坐标 RGB(55,60,100)
int x, y; //表示人物的起点坐标
for (y = 899; y >= 0; y--) { //行号 最底下往上面找
int flag = 0; //假 不成立
for (x = 0; x < 900; x++) {
//getpixel(x,y) 获取x,y坐标的颜色
if (RGB(55, 60, 100) == getpixel(x, y)) {
flag = 1;//真 成立
break; //退出x层循环
}
}
if (flag)break;//退出y层循环
}
获取终点坐标
int dx, dy;//表示人物的终点坐标
for (dy = 0; dy <900; dy++) { //行号 最底下往上面找
int flag = 0; //假 不成立
for (dx = 0; dx < 900; dx++) {
//两颜色比较 差距如果大于25 认为这个dx,dy就是终点位置
if (Similar(bk, getpixel(dx, dy))>25) {
flag = 1;
break;//退出dx层循环
}
}
if (flag)break;//退出dy层循环
}
根据两点求取距离长度
double d = sqrt(double((x - dx)*(x - dx) + (y - dy)*(y - dy)));
根据 距离 ÷ 速度 = 按压时长
double time = d * 1.18;
根据时长模拟人物按压手机屏幕使之跳跃
char Str[128];
//system("adb shell input swipe 200 200 195 195 time");
//字符串拼接函数
sprintf(Str, "adb shell input swipe 200 200 195 195 %d", (int)time);
system(Str);//执行跳跃指令
Sleep(3000);

浙公网安备 33010602011771号