前段时间在玩稚晖君的开源项目透明小电视,硬件搭建好之后使用群里大佬的透明太空人时钟程序,想要自定义开机画面时遇到了问题,通过咨询请教大佬之后问题得以解决,在这里记录一下取模和显示的方法。
因为小电视的屏幕是240*240分辨率的,因此对于想要显示的图片要想转换成对应大小的jpg格式,必须为jpg格式的原因是,在接下来需要用到一个图片压缩器,仅支持jpg格式的图片进行压缩。分享链接贴在下面
链接:https://pan.baidu.com/s/1yrZXo_rtfOhYG_BQLfDoEw
提取码:ihv8
双击打开,如果出现如下错误提示:
请在软件界面修改图片保存路径,如果修改后双击打开仍然提示同样的错误,双击config文件,修改以下内容:
SourceDir:要保存图片的路径
TargetDir:要保存图片的路径\
SourceDir和TargetDir保持一致,都为压缩图片的自动保存路径(具体原因未知,这么配置后不再报错了)。如果忽视这条报错,进入界面后为白色画面,无法选择图片和压缩。
进入软件界面:
左侧选择图片所在文件夹,选好后右侧会自动出现图片文件,点击想要压缩的图片,设置左上角的图片压缩比,对于240x240pixel的图片大小一般不超过60K,这样的话设置80~ 85的图片压缩比就可以,图片压缩比越小,压缩后的图像大小就越小。将目标图片压缩在10K以下后,注意,一定要将图片压缩到10KB以下,否则取模后不能显示。8~ 9KB左右较好,如果压缩比太小导致原本30K的图片变为1K或者2K,最终屏幕上显示的图片会严重失真。
进入下面的网站:
http://tomeko.net/online_tools/file_to_hex.php?lang=en
将图片拖拽至此处:
自动生成代码,点击左下角Copy output clipboard复制代码到粘贴板,然后粘贴到.h文件中即可。
如果.h文件和ardiuno的工程文件在同一目录下,可以在程序中直接引用,例如abc.h中存放的取模后的16进制文件:const uint8_t abc[] PROGMEM = {}。引用#inlcude "abc.h"后使用TJpgDec.drawJpg()函数显示图片:TJpgDec.drawJpg(0,0,abc, sizeof(abc))。
透明小电视自定义开机画面取模和显示小记
最新推荐文章于 2024-04-05 18:45:13 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)