分享一些在LCD/OLED上绘制图像的软件使用技巧 您所在的位置:网站首页 制作年历画画的软件 分享一些在LCD/OLED上绘制图像的软件使用技巧

分享一些在LCD/OLED上绘制图像的软件使用技巧

2024-07-11 21:37| 来源: 网络整理| 查看: 265

介绍

LCD/OLED相信有过嵌入式开发经历的同学都有使用过,但是绝大多数人都是使用一些广为流传的驱动函数,在上面写写英文,写写汉字,画一些矩阵和圆这种简单的图案。作为一个超爱花里胡哨的选手,我当然不允许我的显示屏幕上只有这些东西,所以我总结出了一整套在LCD/OLED上绘制图案的方法,包括图片,图标和GIF。欢迎大家与我交流:[email protected]

图标绘制

使用软件:IconWorkshop + Img2Lcd

IconWorkshop 首先打开软件,选择UNIX图标,再选择想要生成的图片大小(只考虑单色图,因为要在OLED显示) 在这里插入图片描述 在这里插入图片描述快乐绘图,使用右边工具栏中的画笔进行创作 在这里插入图片描述 效果图: 在这里插入图片描述保存图片到自定义路径 Img2Lcd 使用软件打开上面保存的图片并如图修改配置参数(这个与绘制函数息息相关) 在这里插入图片描述生成对应数组,并将其放到工程文件中(推荐使用一个头文件存储想要在显示器上打印的图片数组,或者将其存储入外部FLASH中) 在这里插入图片描述编写图片绘制函数 /** *@brief 在LCD指定位置绘制图片 *@param x0 y0 x1 y1 图片起止点 *@param front_color 图像颜色 *@param back_color 背景颜色 *@param p 图片存储地址 */ void LCD_Draw_Picture(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, int front_color, int back_color, const unsigned char* p) { char temp, t; unsigned int j=0; unsigned char x,y; if((y1-y0)%8!=0) y1 =(y1-y0)/8 + 1; else y1 = y1 / 8; for(y=0;y temp = p[j++]; for(t=0;t POINT_COLOR = front_color; LCD_DrawPoint(x,y*8+y0+t); } else { POINT_COLOR = back_color; LCD_DrawPoint(x,y*8+y0+t); } temp>>=1; } } } } /** *@brief 在OLED指定位置绘制图片 *@param x0 y0 x1 y1 图片起止点 *@param mode 0 反白显示 1 正常显示 *@param p 图片存储地址 *@note x:0~128 y:0~64 */ void OLED_Draw_Picture(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, uint8_t mode, unsigned const char p[]) { char temp, t; unsigned int j=0; unsigned char x,y; if((y1-y0)%8!=0) y1 =(y1-y0)/8 + 1; else y1 = y1 / 8; for(y=0;y temp = p[j++]; for(t=0;t


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有