




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
image2lcd转换图片值数组STM32上的TFT彩屏要显示图片,常见的是把图片转换为数组,然后进行处理,使用的软件是image2lcd,图标和界面如下:由于彩屏是320*240的分辨率,这里我们先找一副320*240分辨率的图片对图片进行取模了。先将要取模的图片打开,配置好宽度和高度,这里配置为240*320。将“高位在前”取消,设置为“16位真彩色”,保存为“C语言数组”,参数的配置如上图所示:这里有一点值得注意的是:转换之后将获得了一个长度为153608的数组gImage_12153608,如果不是这个就要进行修改,否则最终是不能正常显示的,至于153608是怎么来的,如下: 因为分辨率是240*320,并且每个像素点是16位真彩色(2字节),因此图片数据的数据长度就应该是240*320*2=152600,数据帧头还有8字节,所以总共为153608字节,若获取的不是153608字节的数据,请检查图片的分辨率,和取模软件的参数配置。最后将获得的文件,保存为TXT文本文档。image2lcd图片头文件信息:图片头数据的第25个字节表示宽和高,假设图片数组BMP_BUF,高位在前时bmp_withd=(BMP_BUF28)|BMP_BUF3bmp_lenth=(BMP_BUF48)|BMP_BUF5第一个字节是扫描方式,低四位为0水平扫描,为1垂直扫描第二字节输出灰度0x04-16灰 0x18-24真彩色,0x10-16真彩色 0x20-32真彩色针对STM32F103的TFT来说,分辨率都是320*240,对应的函数处理是ili9320_DrawPicture(x0,y0,x1,y1,(u16*)(picture+BmpHeadSize); #define BmpHeadSize (8) 这里要明确x0,x1,y0,y1void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic) u32 i, total; ili9320_SetWindows(StartX,StartY,EndX,EndY); ili9320_SetCursor(StartX,StartY); LCD_WriteRAM_Prepare(); total = EndX*EndY; for (i=0;itotal;i+) LCD_WriteRAM(*pic+); 就用这个函数就够了;参数设置:图片素材女神以上就是按照程序稍微的改动一下,只能针对320*240的图片,如果想要在液晶屏上360度无死角随意显示,还需要改动一下程序,同时理解程序的意思首先:先理解液晶的坐标轴X Y,上图上的左上角为(0,0),右下角为(319, 239),横向为X轴,纵向为Y轴 其次1:理解函数四个参数的意思,我觉得很坑爹,void ili9320_DrawPicture(u16 StartX0,u16 StartY0,u16 EndX1,u16 EndY1,u16 *pic) 黑色的部分为图像的起点,但是蓝色的坚决不是图像的终点,而是分别代表图像的高和宽(Y1-Y0)(因程序而改变的),特别申明*pic要去掉图像的头文件信息8个字节其次2:扫描的模式为水平扫描,说明显示的时候Y坐标轴是不能变的,举例假如扫描180*200,Y1-Y0+1一定是200,如果不是的话,就会是乱码,仔细想想应该可以知道,X1就是看你要不要截屏了!最后:ili9320_DrawPicture(50,50,60,169,(u16 *)(picture+BmpHeadSize);这句话的意思就是起点在(50,50)开始截屏去高为60,宽为169-50+1=120void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic) u32 i, total; u16 x,y; ili9320_SetWindows(StartX,StartY,EndX,EndY); ili9320_SetCursor(StartX,StartY); x=StartX; y=StartY; LCD_WriteRAM_Prepare(); total = EndX*EndY; for (i=0;i EndY) x+; y=StartY; /这几行决定了宽度不是Y1,而是Y1-Y0, / LCD_WriteRAM(*pic+); 设置有点不一样了,要上下颠倒了!实验证明:可以无死角显示图片!增加程序执行效率:void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic) u32 i, total; u16 x,y; / ili9320_SetWindows(StartX,StartY,EndX,EndY); / ili9320_SetCursor(StartX,StartY); x=StartX; y=StartY;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YC/T 237-2023烟叶生产标准化工作规程
- TD/T 1037-2013土地整治重大项目可行性研究报告编制规程
- LY/T 3388-2024植物新品种特异性、一致性、稳定性测试指南柽柳属
- 2025初升高衔接教材高一预科班数学讲义含答案第十二讲 函数的单调性同步提升训练.o
- 2025初升高衔接教材高一预科班数学第十七讲 指数函数的图像和性质同步提升训练含答案
- 汇川区2025年中考语文一模试卷
- 考研复习-风景园林基础考研试题【有一套】附答案详解
- 风景园林基础考研资料试题及答案详解(真题汇编)
- 2025-2026年高校教师资格证之《高等教育法规》通关题库带答案详解(预热题)
- 2025年黑龙江省五常市辅警招聘考试试题题库及答案详解(必刷)
- C6150车床主轴箱箱体加工工艺及夹具说明书
- 19S406建筑排水管道安装-塑料管道
- 健康与免疫智慧树知到期末考试答案2024年
- 化工施工安全技术交底
- 体育社会学试题及体育社会学重点
- 甲状腺疾病预防和治疗科普课件
- 第五章排球大单元教学设计课时教学设计人教版初中体育与健康七年级全一册
- 新媒体视频节目制作 课件 学习领域1 新闻短视频制作
- 矿山应急救援钻探技术规范
- 《老年护理》课程标准
- 秦始皇帝陵的物探考古调查863计划秦始皇陵物探考古进展情况的报告
评论
0/150
提交评论