前提条件:
mac成功安装adb,通过brew install android-platform-tools
命令安装,
安装完成之后连接手机
通过命令adb devices查看时候已成功连接,连接会显示:
以截取百度地图为例,首先打开百度地图app,然后定位一个页面如图:
然后通过python代码运行adb命令进行屏幕的截取,代码如下:
import os def cut_screen(adb_command): process = os.popen(adb_command) output = process.read() return output cut_screen("adb shell screencap /sdcard/right.png") cut_screen("adb pull /sdcard/right.png")
运行代码,可以将屏幕图片保存下来。
如果图片需要截取的左右两个图片拼接起来也可用python代码实现,如下:
from PIL import Image def join(png1, png2, flag=''): img1, img2 = Image.open(png1), Image.open(png2) size1, size2 = img1.size, img2.size if flag == 'horizontal': joint = Image.new('RGB', (size1[0] + size2[0], size1[1])) loc1, loc2 = (0, 0), (size1[0], 0) joint.paste(img1, loc1) joint.paste(img2, loc2) joint.save('horizontal.png') elif flag == 'vertical': joint = Image.new('RGB', (size1[0], size1[1] + size2[1])) loc1, loc2 = (0, 0), (0, size1[1]) joint.paste(img1, loc1) joint.paste(img2, loc2) joint.save('vertical.png') if __name__ == '__main__': png = 'left.png' png2 = 'right.png' join(png, png2) join(png, png2, flag='horizontal')
这样可将两张截取的图片拼接在一块,效果如下: