博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ARM】2440裸机系列-图片显示
阅读量:5998 次
发布时间:2019-06-20

本文共 1940 字,大约阅读时间需要 6 分钟。

功能

   LCD显示字汉字,字符和图片

说明

   汉字,字符和图片需要用相应的取模软件得到相应的c文件,然后包含到工程中

 

 


主要代码

 

1)绘制背景

void Brush_ U32  c){    int x,y ;    for( y = 0 ; y < LCD_HEIGHT ; y++ )    {        for( x = 0 ; x < LCD_WIDTH ; x++ )        {            LCD_BUFFER[y][x] = c ;        }    }}

 


2)文字绘制

void Draw_Text16(U32 x,U32 y,U32 color,const unsigned char ch[]){    unsigned short int i,j;    unsigned char mask,buffer;    for(i=0;i<16;i++)    {        mask=0x80;                       //掩码        buffer=ch[i*2];                  //提取一行的第一个字节        for(j=0;j<8;j++)        {                          if(buffer&mask)            {                PutPixel(x+j,y+i,color); //为笔画上色            }            mask=mask>>1;                      }        mask=0x80;                      //掩码        buffer=ch[i*2+1];                //提取一行的第二个字节        for(j=0;j<8;j++)        {                          if(buffer&mask)            {                PutPixel(x+j+8,y+i,color); //为笔画上色            }            mask=mask>>1;                      }    }}

 


3)字符绘制

void Draw_ASCII(U32 x,U32 y,U32 color,const unsigned char ch[]){    unsigned short int i,j;    unsigned char mask,buffer;    for(i=0;i<16;i++)    {        mask=0x80;        buffer=ch[i];        for(j=0;j<8;j++)        {                          if(buffer&mask)            {                PutPixel(x+j,y+i,color);            }            mask=mask>>1;                      }    }}

 


4)图片绘制

<注意>用取模软件对图片进行取模后得到的c源文件中,需要自己进行define WIN32,否则图片颜色是反过来的

void Paint_Bmp(int x0,int y0,int h,int l,const unsigned char bmp[]){    int x,y;    U32 c;    int p = 0;                                                         for( y = y0 ; y < l ; y++ )    {        for( x = x0 ; x < h ; x++ )        {            c = bmp[p+1] | (bmp[p]<<8) ;            if ( ( (x0+x) < LCD_WIDTH) && ( (y0+y) < LCD_HEIGHT) )                 LCD_BUFFER[y0+y][x0+x] = c ;                                                                         p = p + 2 ;        }    }}

 

 


效果

 

 

转载地址:http://nowmx.baihongyu.com/

你可能感兴趣的文章
连CHM也不放过哈哈哈!!!
查看>>
04-爬取单个英雄联盟英雄的符文图片
查看>>
oracle 获取系统时间(转)
查看>>
《人员管理》读书笔记
查看>>
判断一棵二叉树是否为二叉搜索树
查看>>
Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题...
查看>>
Mac 配置教程-日常篇
查看>>
201771010126 王燕《面向对象程序设计(java)》第八周学习总结
查看>>
个人学习笔记之——new/delete
查看>>
(最长公共子序列 暴力) Common Subsequence (poj 1458)
查看>>
调用未绑定的父类方法和使用supper 函数 之间的选择.
查看>>
二宝软件需求分析
查看>>
Java-冒泡排序、快速排序、插入排序、快速排序
查看>>
N-Gram模型
查看>>
论文阅读笔记六十六:Wide Activation for Efficient and Accurate Image Super-Resolution(CVPR2018)...
查看>>
悟透JavaScript
查看>>
大连东软集团实践报告
查看>>
"蓝桥杯“基础练习:数列特征
查看>>
证明积累
查看>>
233 Matrix
查看>>