智能车制作
标题:
求教nokia5110位图显示方法
[打印本页]
作者:
HIT120220
时间:
2013-4-12 12:24
标题:
求教nokia5110位图显示方法
/***********************************************************
*函数名称:LCD_draw_bmp_pixel
*函数功能:位图绘制函数
*入口参数:X、Y :位图绘制的起始X、Y坐标;
*map :位图点阵数据;
Pix_x :位图像素(长)
Pix_y :位图像素(宽)
*出口参数:无
*修改人 :BDC
*修改时间:2011/08/04
*备 注:
***********************************************************/
void LCD_draw_bmp_pixel(uchar X,uchar Y,uchar *map, uchar Pix_x,uchar Pix_y)
{
uint i,n;
uchar row;
//计算位图所占行数
if (Pix_y%8==0) //如果为位图所占行数为整数
row=Pix_y/8;
else
row=Pix_y/8+1; //如果为位图所占行数不是整数
LCD_set_XY(X,Y);
for (n=0;n<row;n++) //换行
{
for(i=0;i<Pix_x;i++)
{
LCD_set_XY(X+i,Y+n);
LCD_write_byte(map[i+n*Pix_x], 1);
}
}
}
没看懂 自己试着改参数 总也显示不出卡!
作者:
gy810986741
时间:
2013-4-12 12:24
/*-----------------------------------------------------------------------
LCD_draw_map : 位图绘制函数
输入参数:X、Y :位图绘制的起始X、Y坐标;
*map :位图点阵数据;
Pix_x :位图像素(长)
Pix_y :位图像素(宽)
编写日期 :2011-4-5
最后修改日期 :2011-4-6
-----------------------------------------------------------------------*/
void LCD_draw_bmp_pixel(unsigned char X,unsigned char Y,unsigned char *map,
unsigned char Pix_x,unsigned char Pix_y,unsigned char hhh)
{
unsigned int i;
signed int n;
unsigned char row,*p;
unsigned char CCD_temp[84];
p=CCD_temp;
for (n=0;n<IMAGE_COLUMN;n=n+2)
{
*p = (Image[hhh][n]) +(Image[hhh+1][n])*2+ (Image[hhh+2][n])*4+ (Image[hhh+3][n])*8+
(Image[hhh+4][n])*16+(Image[hhh+5][n])*32+(Image[hhh+6][n])*64+(Image[hhh+7][n])*128;
p++;
}
if(Pix_y % 8 == 0)
row = Pix_y / 8; //计算位图所占行数
else
row = Pix_y / 8 + 1;
for (n=0;n<row;n++)
{
LCD_set_XY(X,Y);
for(i=0; i<Pix_x; i++)
{
LCD_write_byte(CCD_temp[i+n * Pix_x], 1);
}
Y++; //换行
}
}
作者:
gy810986741
时间:
2013-4-12 20:20
作者:
gy810986741
时间:
2013-4-12 20:21
液晶是竖着写的,要把原图像数组转换一下,也就是你中间少了一段
作者:
HIT120220
时间:
2013-4-13 13:08
我说呢,每次调参数那个起始坐标总是横竖相反,谢谢啦。最佳答案给你了,一会我试试去。
是不是就把这一段参数替换原参数就可以了?
作者:
gy810986741
时间:
2013-4-13 13:37
HIT120220 发表于 2013-4-13 13:08
我说呢,每次调参数那个起始坐标总是横竖相反,谢谢啦。最佳答案给你了,一会我试试去。
是不是就把这一段 ...
这个替换过后有没有问题我不敢保证,但是思路是这样的,如果还显示不了,你看看函数的入口参数设置又没有问题,祝你早日解决
作者:
gy810986741
时间:
2013-4-13 13:38
HIT120220 发表于 2013-4-13 13:08
我说呢,每次调参数那个起始坐标总是横竖相反,谢谢啦。最佳答案给你了,一会我试试去。
是不是就把这一段 ...
我一直用的是这个,应该不会有问题的
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2