具体图像取模和显示

cchttps://blog.csdn.net/HCl_Egg/article/details/125382814?app_version=6.2.4&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22125382814%22%2C%22source%22%3A%22zming01%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app

以上是参考文件

注意:这篇文章是基于原本U8g2的文件写下来的,标准库的同学注意转换,当然我这里也有(乐)。

OLED显示图像是一件很cool的事(要不是因为校除选会考)。好的,启动!

一些配置(我用的是F411CEU6的板子和校科协的板子,大家的F401,F407也大差不差)

跟U8g2的那篇文章基本一致,可以跳过

好的,配置玩了

我们先显示一个自己创建的图像。

打开

是这个样子的:

点击选项,按照这个配置。

(其中点阵和索引可以先不用管)。

文件——新建——

确定;

然后开始乱涂乱画。

画完之后点击生成字模。(又乱画了一点)

这个东西

就是我们要的。

打开Keil

在Begin 0 下面加上

#define SIZE 1024

const uint8_t Img[SIZE] = {/*字模数组*/};

然后,把我们得到的数组,复制到这个Img数组中

这样。

最后在主函数中加上

u8g2_DrawXBMP(&u8g2,0,0,128,64,Img);

(原文中有u8g2_SendBuffer(&u8g2);局部刷新,但我这里前面显示被我注释掉了就不用了)

然后,烧录。。。

发现,没报错,但烧录失败了。(悲)

看了看代码。

感觉是Img数组明明是一维的但被活生生改成2维

于是把大括号去掉改成一维。

再烧录。。。

成功哩!

还蛮好看的。(喜)

然后做任意图像取模。(0—0)

找到一张好看的图。()

比如这张

下面方法就多了

你可以截取一个128*64的区域

也可以先缩小图像再截取

也可以直接缩小再补充

前两种都比较简单,直接看第三种

先用照片打开,把他变成黑白的。

以BMP保存,宽不能超128和高不能超64.

打开画图

创建一个128*64的画布

把图片导入进去。

以Bmp保存。

用PCtolcd2002打开

以后就一样的操作了。

成功烧录了,但这个颜色。。

是因为原图亮色太多了555

但也成功了不是吗?

补充:但如果想输出一个完美的图像

其他参数也是要改的

但也必须要先用对比度转为黑白再修改。

这个烧的就很好。(乐)

累了睡觉了

源代码马上发。

链接:https://pan.baidu.com/s/1CjrutVpnl4xAAcYp2B8QGA?pwd=1DA3 
提取码:1DA3

2023.12.21

科协

  • 27
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值