嵌入式设备具备截图功能

2019-07-12 23:13发布

嵌入式linux截图工具的基本原理是通过读取Framebuffer,把LCD上显示的内容转换成图片。
需要jpeg的库支持
gsnap下载地址       http://linux-fb-tools.googlecode.com/files/gsnap.tar.gz
jpegsrc.v6b下载地址  http://ijg.org/files/

解压缩下载文件,
1首先建立相应的目录
  建立/home/steven/work/libjpeg
  建立/home/steven/work/libjpeg/bin
  建立/home/steven/work/libjpeg/lib
  建立/home/steven/work/libjpeg/include
  建立/home/steven/work/libjpeg/man/man1
进入jpeg-6d
2 配置:
    ./configure --prefix=/home/steven/work/libjpeg  --exec-prefix=/home/steven/work/libjpeg --enable-shared --enable-static
3 修改Makefile
  CC  = arm-none-linux-gnueabi-gcc
  AR  = arm-none-linux-gnueabi-ar
  AR2 = arm-none-linux-gnueabi-ranlib


4 编译
  make
5 make install
  执行完之后会在/home/steven/work/libjpeg/目录下安装相关文件

6 将lib下的库文件 拷贝到  /opt/CodeSourcery/Sourcery_G++_Lite_2009/arm-none-linux-gnueabi/lib

   cp libjpeg.a libjpeg.la libjpeg.so libjpeg.so.62 libjpeg.so.62.0.0 /opt/CodeSourcery/Sourcery_G++_Lite_2009/arm-none-linux-gnueabi/lib

7 将include下的.h文件拷贝到  /opt/CodeSourcery/Sourcery_G++_Lite_2009/arm-none-linux-gnueabi/include

  cp jconfig.h jerror.h jmorecfg.h jpeglib.h /opt/CodeSourcery/Sourcery_G++_Lite_2009/arm-none-linux-gnueabi/include

8 编译gsnap
  修改Makefile
  all:
        arm-none-linux-gnueabi-gcc -g gsnap.c   -ljpeg  -o gsnap
  clean:
        rm -f gsnap
9 修改gsnap.c
  删除用不到的png相关函数以及.h文件包含
10 make
  得到目标文件 gsnap

将上面得到的库文件一并拷贝到目标板相应目录 /lib/目录下

在开发版上使用gsnap获取屏幕图像

gsnap 123.jpg  /dev/fb0
注:访问/dev/fb0需要root权限
 

3