概述
今天来讲解一下STM32驱动OLED显示图片,本次教程分为两部分:
1、BMP图片制作
2、程序讲解与调用
1、BMP图片制作(取模)
BMP图片取模讲解两种方式:自己画图、普通图片制作。
1)自己画图
自己画图我们首先做一张白纸图片,例如截一张白色的电脑图片
点击文件–>属性 保存为黑白(因为使用的是单色的OLED),大小最大为128*64
然后就可以利用画图软件自由发挥绘画的内容了(提示如果转换为黑白图片后全黑可以利用画图软件画为白色)
最后另保存为BMP格式
2)普通图片制作
任意一张图片(最好是颜色少,有大面积白色的图片)调整图片像素大小
另存为BMP图片
3)图片取模
打开软件PCtoLCD完美版
导入我们制作的图片
设置字模选项,注意图中画圈部分,不要设置错误,不然会出现显示不正常现象,等会我们制作一个设置错误导致显示不正常的例子
行前缀和后缀不要“{”、“}”,不然会生成二维数组,对数组调用产生麻烦
下面是上传程序显示效果
下面演示一下错误设置字模选项出现的结果
下面是错误设置出现的现象,图片显示完全错位
也可以在取模软件制作图片,在图中画圈部分按住鼠标左键可以选择屏幕点亮部分,右键可以将点亮部分擦除
擦除前
擦除后
这两只企鹅转换后的造型,实在是有些搞笑啊。。。
2、程序讲解与调用
程序就不废话了,直接上程序
图库:
绘图:
//显示图片(通过改变索引值和图片对应的像素可以显示不同像素的图片)
//x,y:图片的起点坐标
//px,py:图片的像素(与实际取模的图片像素一致)
//index:图片索引
void OLED_ShowBMP(u8 x, u8 y, u8 px, u8 py, u8 index, u8 mode)
{
u8 temp,t1;
u16 j,i;
u8 y0=y;
i = (px/2)*(py/4);
for(j = 0; j < i;j++)
{
temp = Image[index][j]; //调用图片
for(t1=0;t1<8;t1++)
{
if(temp&0x80)OLED_DrawPoint(x,y,mode);
else OLED_DrawPoint(x,y,!mode);
temp<<= 1;
y++;
if((y-y0) == py)
{
y=y0;
x++;
break;
}
}
}
}
主函数调用:
OLED_ShowBMP(0, 0, 128, 64, 6, 1);//
OLED_Refresh_Gram();//更新显示到OLED
最后
以上就是害羞猎豹为你收集整理的0.96寸OLED显示 图片1、BMP图片制作(取模)2、程序讲解与调用的全部内容,希望文章能够帮你解决0.96寸OLED显示 图片1、BMP图片制作(取模)2、程序讲解与调用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复