[android]android命令行截图

步骤一:

adbpull/dev/graphics/fb0fb0

android的adb命令,按照Linux所有信息文件化的特点提取屏幕数据,即fb0文件

步骤二:

pythonrgb565torgb888.py<fb0>fb0.888

提取到的fb0文件是16位的,考虑到第三步的转换无法处理16位的数据文件,所以依赖一个python文件把它转换为888即24位的RGB文件

步骤三:

convert-depth8-size320x480RGB:fb0.888fb0.png

Linux下运用convert命令进行转换

pythonrgb565torgb888.py源码如下

import sys  
  
while 1:  
    colour = sys.stdin.read(2)  
    if not colour:  
        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))

相关推荐