Android(安卓)截图实现
16lz
2022-01-28
步骤一:
adb pull /dev/graphics/fb0 fb0
android的adb命令,按照Linux所有信息文件化的特点提取屏幕数据,即fb0文件
步骤二:
python rgb565torgb888.py <fb0 >fb0.888
提取到的fb0文件是16位的,考虑到第三步的转换无法处理16位的数据文件,所以依赖一个python文件把它转换为888即24位的RGB文件
步骤三:
convert -depth 8 -size 320x480 RGB:fb0.888 fb0.png
Linux下运用convert命令进行转换
python rgb565torgb888.py 源码如下
- importsys
- while1:
- colour=sys.stdin.read(2)
- ifnotcolour:
- break
- colour=ord(colour[1])<<8|ord(colour[0])
- r=(colour&0xF800)>>11
- g=(colour&0x07E0)>>5
- b=(colour&0x001F)>>0
- r*=8
- g*=4
- b*=8
- sys.stdout.write(chr(r))
- sys.stdout.write(chr(g))
- sys.stdout.write(chr(b))
更多相关文章
- Windows平台上编译OpenCV的Android版本
- Android(安卓)Studio获取SHA1值
- 基于Android(安卓)tess-two工程的数字识别
- 【Android】【录音】Android录音--AudioRecord、MediaRecorder
- Android(安卓)保存数据到文件
- android 选择器selector的用法说明
- android 主要镜像(image)解析
- NPM 和webpack 的基础使用
- 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程