点阵字库原理,点阵字库的的几个关键常用函数

基于C语言和无操作系统环境,理解并实现了从uC/OS中提取字库的移植过程。点阵字库中,英文字符用16*8点阵,中文字符用16*16点阵表示,通过16个8位或16位数值来存储。重点在于掌握点阵字库的二进制表示和关键操作函数。

无OS的课程基本都完成了。有之前C/C++的基础,完成得还是比较轻松的。

刚刚完成了 从uC/OS中提取字库,并移植到无OS的环境下。

理解了:

点阵字库实际上就是点阵的二进制表示,通常英文字符用16*8的点阵,中文字符用16*16的点阵。

比如一个英文字符,在字库中就是用16个8位的数来表示,每个数代表点阵的一行。

类似地,汉字在字库中就是用16个16位的数来表示。如下图中,每个点,黑色为1,白色为0,就组成了点阵字库


  

几个关键的函数

//在显示上显示一个英文字符(ASCII码)
void Lcd_PutASCII(unsigned int x,unsigned int y,unsigned char ch,unsigned int
c,unsigned int bk_c,unsigned int st)
{
	unsigned short int i,j;
	unsigned char *pZK,mask,buf;
	pZK = &__VGA[ch*16];
	for( i = 0 ; i < 16 ; i++ )
	{
		mask = 0x80;
		buf = pZK[i];
		for( j = 0 ; j < 8 ; j++ )
		{
			if( buf & mask )
			{
				PutPixel(x+j,y+i,c);
			}
			else
			{
				if( !st )
				{
					PutPixel(x+j,y+i,bk_c);
				}
			}
			mask = mask >> 1;
		}
	}
}

/*****************************************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值