当前位置: 首页 > news >正文

惠州 光电 网站上线滨海新区商城网站建设

惠州 光电 网站上线,滨海新区商城网站建设,广西十佳旅游景区,无形资产 网站建设STM32 LCD 数组方式简单显示彩色图片 文章目录 STM32 LCD 数组方式简单显示彩色图片前言1、图片处理1.1 准备图片1.2 查看和调整图片大小 2、Picture2Hex软件使用3、函数代码实现3、图片显示效果4、显示图片太大会报错总结 前言 在使用LCD填充的时候发现正点原子提供了一个很好…STM32 LCD 数组方式简单显示彩色图片 文章目录 STM32 LCD 数组方式简单显示彩色图片前言1、图片处理1.1 准备图片1.2 查看和调整图片大小 2、Picture2Hex软件使用3、函数代码实现3、图片显示效果4、显示图片太大会报错总结 前言 在使用LCD填充的时候发现正点原子提供了一个很好用的填充函数就是LCD_Color_Fill();该函数是用来填充颜色块的也可以直接用来显示图片因为图片也是由颜色块组成的。所以需要使用stm32从内部flash的方法来显示图片时就不要独立写显示图片的函数了非常实用。 1、图片处理 1.1 准备图片 第一步准备一张需要显示的图片。 注意该图片的分辨率大小需要在使用的LCD屏支持的分辨率范围内如果图片分辨率超出LCD屏幕的分辨率是无法正常显示或者出现异常的情况。 接下来就以下面这个表情图片为例进行显示 该图片为.jpg格式的图片分辨率是200x200。使用的LCD分辨率是240x320的。 1.2 查看和调整图片大小 第二步查看图片分辨率方法 方法1在图片属性里面查看 方法2用画图软件方式查看 鼠标右键图片以画图方式打开图片如下图 点击重新调整大小。 这里有一个小技巧如果发现这个分辨率太大也可以在这里输入小分辨率的数值即可进行调整注意勾选下面的保持纵横比选项才能保证图片的原始比例。 2、Picture2Hex软件使用 该软件在浏览器输入软件名字搜索下载即可。 第一步双击Picture2Hex.exe文件即可打开该软件界面如下 根据图片信息进行设置参数。 导入图片 导入后就可以在软件的目录下看到这个work文件夹打开后可以看到一个bmp的图片和.c的文件转换生成的大数组就在这个.c里面了拷贝到MDK工程即可。 添加后的效果如下需要在名字前面添加const关键字进行修饰不然会提示内存不够的。 这个LOGO_W和LOGO_H是图片对应的分辨率为了方便看大小的可以不用管该代码。 3、函数代码实现 函数原型如下 //在指定区域内填充指定颜色块 //(sx,sy),(ex,ey):填充矩形对角坐标,区域大小为:(ex-sx1)*(ey-sy1) //color:要填充的颜色 void LCD_Color_Fill(u16 sx, u16 sy, u16 ex, u16 ey, u16 *color) {u16 height, width;u16 i, j;width ex - sx 1; //得到填充的宽度height ey - sy 1; //高度for (i 0; i height; i){LCD_SetCursor(sx, sy i); //设置光标位置LCD_WriteRAM_Prepare(); //开始写入GRAMfor (j 0; j width; j){LCD-LCD_RAMcolor[i * width j]; //写入数据}} }这里有一点是需要特别注意的就是这个函数是对显示区域加1操作了所以在调用该函数时区域大小也需要对应减去1才能正常显示不然显示的图片会显示异常等错位效果。 在main.c文件下的mian函数内调用该函数。 在while里面调用函数LCD_Color_Fill(0, 0, 199, 199, (u16*)gImage); 编译下载代码后发现能正常显示图片能达到实验效果目的。 但是发现调用函数这样写区域坐标有点别扭和图片分辨率大小不太符合。那么可以适当改一下原函数进行显示修改如下 //在指定区域内填充指定颜色块 //(sx,sy),(ex,ey):填充矩形对角坐标,区域大小为:(ex-sx)*(ey-sy) //color:要填充的颜色 void LCD_Color_Fill(u16 sx, u16 sy, u16 ex, u16 ey, u16 *color) {u16 height, width;u16 i, j;width ex - sx; //得到填充的宽度height ey - sy; //高度for (i 0; i height; i){LCD_SetCursor(sx, sy i); //设置光标位置LCD_WriteRAM_Prepare(); //开始写入GRAMfor (j 0; j width; j){LCD-LCD_RAMcolor[i * width j]; //写入数据}} }把获取宽度和高度的坐标1删除即可。 调用如下LCD_Color_Fill(0, 0, 200, 200, (u16*)gImage); 这样写就很方便看出图片的分辨率大小和显示位置了。 编译下载代码后发现效果是一样的这样看起来就比较直观图片大小了。 3、图片显示效果 4、显示图片太大会报错 这种读取大数组的方式不建议用来显示大图片的因为是芯片内存有限显示小图片还是可以的。要是需要显示图片的还是建议读取SD卡的方式这样就不会占用太大的内存了节省一些空间。 添加大图片数组后下载会有错位提示如下图 总结 用这个方法来显示小分辨率的图片还是很不错的颜色效果很逼真和图片原图是一样的效果就是有点费内存不过小型项目或者学习还是可以的。 用这个LCD_Color_Fill函数后发现使用其它的图片转换工具转换出来的数据显示会异常的大概率和LCD显示格式存在差异导致的刚好LCD是用565的颜色模式而这个软件也刚好是的所以就对应可以使用了。 通过该例子就能很好地学习了一下LCD_Color_Fill函数的实现以及传参过程。
http://www.yutouwan.com/news/13372/

相关文章:

  • 网站开发北京公司网站官网设计规范
  • 什么网站需要备案网站建设前 沟通内容
  • 南通做网站软件香水网站设计网页
  • dream网站怎么做框架用python做网站后台
  • 如何自己做网站站长wordpress网站关键字
  • 禅城区建设局网站百度订单售后电话
  • 青岛英文网站建设电商网站制作设计
  • 网站的设计方案wordpress和
  • 站内免费推广价格查询网
  • 无需注册网站模板下载上海网站开发孵化
  • 江西省住房和城乡建设厅的网站教做详情页的网站
  • 做网站能赚钱吗知乎wordpress导航字体大小
  • 要想提高网站排名应该如何做家具能在什么网站上做
  • 大连做网站 选领超科技网站建设合同要存档几年
  • 更改wordpress主题语言包南京百度快速排名优化
  • 晟合建设集团网站上海网站建设服务公司
  • 已备案个人网站做淘宝客动态图片在线制作
  • 网站开发前途长沙企业建站
  • 怀化组织部网站编程除了做网站还能干什么
  • 网站百度排名旅行社网站模板
  • 重庆网站制作长沙优化方案2021版语文答案
  • 江苏省实训基地建设网站网站分类查询
  • 水文站网站建设应当坚持单位网站建设费算无形资产吗
  • 招商网站办公家具 技术支持 东莞网站建设
  • 临沂建设质量监督站网站网站建设需要哪些常用技术
  • 抚松网站建设灵台门户网站建设
  • 有什么网站是专做婚礼素材的南京江宁网站制作
  • editplus怎么创网站电商运营网站设计
  • 医疗网站建设机构分类导航wordpress
  • 安徽做网站找谁怎么上传图片到公司网站