Android 截图实现

 

步骤一:
  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  源码如下

  1. import sys  
  2.   
  3. while 1:  
  4.     colour = sys.stdin.read(2)  
  5.     if not colour:  
  6.         break  
  7.     colour = ord(colour[1]) << 8 | ord(colour[0])  
  8.   
  9.     r = (colour & 0xF800) >> 11  
  10.     g = (colour & 0x07E0) >> 5  
  11.     b = (colour & 0x001F) >> 0  
  12.   
  13.     r *= 8  
  14.     g *= 4  
  15.     b *= 8  
  16.   
  17.     sys.stdout.write(chr(r))  
  18.     sys.stdout.write(chr(g))  
  19.     sys.stdout.write(chr(b))  

猜你喜欢

转载自wuzijingaip.iteye.com/blog/2034073