项目需求:需要处理图片成为bin文件,并以二进制的方式传给蓝牙设备,当前仅介绍如何安装,对lvgl功能和简介不做过多描述
项目库地址:https://github.com/lvgl/lv_img_conv
安装过程比较简单
一,确保node.js已经安装
sudo apt-get install -y nodejs
如果不确定是否有安装,可以先运行查看
node --version
二,运行其他必要的库
sudo apt install gcc make g++ pkg-config libpixman-1-dev libcairo2-dev libpango1.0-dev libjpeg8-dev libgif-dev
三,做为图片处理类应用,安装canvas也是必不可少
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
注:需要根据各自环境进行canvas的安装,地址为:GitHub - Automattic/node-canvas: Node canvas is a Cairo backed Canvas implementation for NodeJS.
四,基础环境搭建完毕,即可clone到服务器
国内码云地址相对较快:lv_img_conv: lv_img_conv
clone https://gitee.com/bcg448251593/lv_img_conv.git
注:此处踩了个大坑,第一次登陆ubuntu的时候忘记切换目录,当时测试安装后不小心将当前环境安装到root目录,后期导致一系列的权限问题,很麻烦,所以在选择clone的时候,最好选择项目目录,比方说home,或者www,这样能省很多事
五,命令行测试生成bin文件
用当前目录img下的A.png 测试生成 A.bin 文件,即可看到当前文件夹下已有相关文件
六,集成到thinkphp项目中
shell_exec("/www/wwwroot/lv_img_conv/lv_img_conv.js /www/wwwroot/shaver.dgyoubei.com.cn/public/uploads/".$thumb_img." -f -c CF_TRUE_COLOR -t bin --binary-format ARGB8565 -o '/www/wwwroot/shaver.dgyoubei.com.cn/public/bin/".$bin_name."'");
参数说明:
$thumb_img 为要生成bin文件的缩略图原始文件
$bin_name 为生成bin文件后保存的文件名