制作OLED图标
陈拓 2021/06/24-2021/06/26
1. 概述
制作用于OLED显示的图标,获取C语言图像点阵数据。
![](https://img-blog.csdnimg.cn/20210626212603885.png)
2. 图标库
先准备图标图像,可以从图标库中找需要的图案,下面两个是我常用的图标网站。
2.1 Font Awesome
https://fontawesome.com/
![](https://img-blog.csdnimg.cn/20210626212730464.png)
点击Icons,浏览图标。
![](https://img-blog.csdnimg.cn/20210626212745661.png)
选择Free查看免费图标:
![](https://img-blog.csdnimg.cn/20210626212757603.png)
输入关键字thermometer。
![](https://img-blog.csdnimg.cn/20210626212826756.png)
点击第二个图标:
![](https://img-blog.csdnimg.cn/20210626212838209.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW50dW8yMDAw,size_16,color_FFFFFF,t_70)
这个网站很多资源是收费的,下面的网站资源更多,而且是免费的。
2.2 onlinewebfonts
https://www.onlinewebfonts.com/
![](https://img-blog.csdnimg.cn/20210626212858581.png)
这里不仅有丰富的图标和字体资源,还有各种图像和字体相互转换的工具:
![](https://img-blog.csdnimg.cn/20210626212911615.png)
下面我们看看温度图标。
点击Icon,搜索关键字temperature可以找到很多与温度相关的图标。
![](https://img-blog.csdnimg.cn/20210626212933625.png)
选择红框中的图标:
![](https://img-blog.csdnimg.cn/20210626212950703.png)
可以选择4种下载格式:
![](https://img-blog.csdnimg.cn/20210626213015716.png)
下载PNG格式的文件。
点击PNG FILE:
![](https://img-blog.csdnimg.cn/20210626213031460.png)
右击3个Download之一,复制链接地址,在新的标签页中打开这个地址就可以下载了。
处理图标文件
![](https://img-blog.csdnimg.cn/2021062621310536.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW50dW8yMDAw,size_16,color_FFFFFF,t_70)
先用魔棒工具选择透明背景:
![](https://img-blog.csdnimg.cn/20210626213123115.png)
填充为白色。
![](https://img-blog.csdnimg.cn/2021062621314594.png)
取消选择。
将图标缩小到23x44:
![](https://img-blog.csdnimg.cn/20210626213204712.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW50dW8yMDAw,size_16,color_FFFFFF,t_70)
确定。
![](https://img-blog.csdnimg.cn/20210626213216742.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW50dW8yMDAw,size_16,color_FFFFFF,t_70)
存储为BMP格式:
4. 将图像转换为位图数据
用图片取模工具软件Img2Lcd取模。Img2Lcd软件可以从下面的网址获取:
《用于LCD、OLED的图片取模软件》
https://download.csdn.net/download/chentuo2000/19815287
打开图像文件,并做如下设置:
![](https://img-blog.csdnimg.cn/20210626213301244.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW50dW8yMDAw,size_16,color_FFFFFF,t_70)
保存,文件名取thermometer23x44.h,数据为:
const unsigned char gImage_thermometer23x44[138] = { /* 0X22,0X01,0X17,0X00,0X2C,0X00, */
0X00,0X00,0X00,0X00,0X00,0XF0,0XFC,0XFE,0X0E,0X07,0X07,0X07,0X07,0X07,0X0E,0XFE,
0XFC,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,0XFF,0XFF,0X00,
0X00,0XF8,0XF8,0XF8,0X00,0X00,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
0X00,0X00,0X80,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,0X00,0X00,0XFF,0XFF,0XFF,
0X80,0X00,0X00,0X00,0X00,0XE0,0XF8,0XFE,0X1F,0X07,0X03,0XE1,0XF0,0XF8,0XF8,0XFF,
0XFF,0XFF,0XF8,0XF8,0XF0,0XE1,0X03,0X07,0X1F,0XFE,0XF8,0XE0,0X0F,0X3F,0XFF,0XF0,
0XC0,0X80,0X07,0X1F,0X1F,0X3F,0X3F,0X3F,0X3F,0X3F,0X3F,0X1F,0X07,0X80,0XC0,0XF0,
0XFF,0X3F,0X0F,0X00,0X00,0X00,0X01,0X03,0X03,0X07,0X07,0X0E,0X0E,0X0E,0X0E,0X0E,
0X0E,0X0E,0X07,0X07,0X03,0X03,0X01,0X00,0X00,0X00,};
5. 显示效果
下图是ESP8266驱动0.96寸OLED显示屏的效果:
![](https://img-blog.csdnimg.cn/20210626213421647.png)
6. 其他图标
输入humidity可以找到很多与湿度相关的图标:
![](https://img-blog.csdnimg.cn/20210626213458188.png)
显示效果:
![](https://img-blog.csdnimg.cn/20210626213509163.png)
![](https://img-blog.csdnimg.cn/20210626213526968.png)
显示效果:
![](https://img-blog.csdnimg.cn/2021062621353870.png)