嵌入式设备具备截图功能
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权限
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮