python 几种android截屏方式的学习与使用

python 几种android截屏方式的学习与使用

screencap

screencap是Android的截屏工具。通过调用访问SurfaceFlinger服务或读取 /dev/graphics/fb0文件来实现屏幕截取。

方法:

  1. 直接获得图片的二进制数据,然后解析成相应的图片
	import subprocess
	import cv2
	import numpy as np
	
	def get_screenshot():
			# 使用subprocess的Popen调用adb shell命令,并将结果保存到PIPE管道中
	        process = subprocess.Popen('adb shell screencap -p', shell=True, stdout=subprocess.PIPE)
	        # 读取管道中的数据
	        screenshot = process.stdout.read()
	        # 将读取的字节流数据的回车换行替换成'\n'
	        binary_screenshot = screenshot.replace(b'\r\n', b'\n')
	        # 使用numpy和imdecode将二进制数据转换成cv2的mat图片格式
	        img_screenshot = cv2.imdecode(np.frombuffer(binary_screenshot, np.uint8), cv2.IMREAD_COLOR)
	
        return img_screenshot
  1. 将截图保存成png图片,然后pull到电脑端再读取
	import subprocess
	import cv2
	def adb(order):
	        return subprocess.Popen(order, shell=True, stdout=subprocess.PIPE, encoding='UTF-8').stdout
	
	def get_screenshot():
		adb('adb shell /system/bin/screencap -p /sdcard/screenshot.png') # 将截图保存到SDCard
        adb('ad
  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值