使用PixelPut(打点函数)点阵显示汉字的程序小结

首先看“画汉字”的函数:(具有一定的通用性)

//画汉字
void DemoHZ(unsigned char *buf, int x, int y, int color)
{
    int i;
	int j;
	int k;
	
	//下面是使用【字模3】软件生成的数据
	//	第一、二个字节为“像素高和宽“,这里假设高和宽一样
	//	第三个字节为“宽的字节数”
	int nWidth = buf[0];
	int nBytesPerRow = buf[2];
	
	
	
	//开始写汉字
	buf	+=3;
	for(i=0; i<nWidth; i++)
	{
		for(j=0; j<nBytesPerRow; j++)
		{
			for(k=0;k<8;k++)
				if(((buf[nBytesPerRow*i+j]>>(7-k))&0x1)!=NULL)
					putPixel(x+8*j+k, y+i, color);
		}
	}
}

上面用到了【字模III】工具,破解版的在这里下载: http://download.csdn.net/detail/dijkstar/6239435,putPixel是一个“画点”函数,在每个OS下要替换相应的打点函数,在最后介绍。

比如使用字模工具产生一个汉字“设”字,43*43像素,多大的像素及字体,你自己可以在字模工具里设,

unsigned char  Bmp001[]=
{
/*------------------------------------------------------------------------------
;  若数据乱码,请检查字模格式设置,注意选择正确的取模方向和字节位顺序。
;  源文件 / 文字 : 设
;  宽×高(像素): 43×43
;  字模格式/大小 : 单色点阵液晶字模,横向取模,字节正序/258字节
;  数据转换日期  : 2013-9-2 17:55:19
------------------------------------------------------------------------------*/
0x2B,0x2B,0x06,//宽的像素数,高的像素数,宽的字节数,参数设置可选
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x04,0x00,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x03,0x80,0x00,0x07,0x80,0x00,0x03,
0x80,0x00,0x07,0x80,0x00,0x03,0x80,0x00,0x07,0x00,0x00,0x03,0x8C,0x00,0x0F,0x00,
0x00,0x03,0x8F,0x80,0x0F,0x00,0x00,0x03,0x8F,0xE0,0x0E,0x00,0x0F,0xFF,0x8F,0xF8,
0x1E,0x00,0x0F,0xFF,0x8D,0xFC,0x1E,0x00,0x0F,0xFF,0x0C,0x7F,0x3C,0x00,0x0E,0x00,
0x0C,0x1F,0xB8,0x00,0x0E,0x00,0x0C,0x07,0xF8,0x00,0x0E,0x00,0x0C,0x03,0xF0,0x00,
0x0E,0x00,0x0C,0x01,0xF0,0x00,0x0E,0x00,0x0C,0x03,0xF0,0x00,0x0E,0x00,0x0C,0x07,
0xF8,0x00,0x0E,0x00,0x0C,0x1F,0xBC,0x00,0x0F,0xF0,0x0C,0x7E,0x3C,0x00,0x0F,0xFC,
0x0F,0xFC,0x1E,0x00,0x0F,0xFF,0x0F,0xF0,0x1E,0x00,0x00,0xFF,0x8F,0xC0,0x0F,0x00,
0x00,0x0F,0xDF,0x00,0x0F,0x00,0x00,0x03,0xFC,0x00,0x07,0x00,0x00,0x01,0xDC,0x00,
0x07,0x80,0x00,0x00,0x80,0x07,0x07,0x80,0x00,0x00,0x00,0x0F,0x03,0x00,0x00,0x00,
0x00,0x07,0x82,0x00,0x01,0xC0,0x00,0x03,0xC0,0x00,0x03,0xE0,0x00,0x01,0xE0,0x00,
0x07,0xC1,0xFF,0xFF,0xF8,0x00,0x0F,0x81,0xFF,0xFF,0xFC,0x00,0x1F,0x01,0xFF,0xFF,
0xF8,0x00,0x0C,0x01,0xC0,0x00,0x10,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x01,
0xC0,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x00,0x00,
0x00,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,
};
那么,可以使用:DemoHZ(Bmp001, x, y, 15);,其中,x和y是显示的位置,最后一个15是颜色。


在DOS下,BC++、Turbo C的打点函数为:putpixel;

在Windows下,VC的打点函数为:CDC::SetPixel;

在vxWorks下,WindML的打点函数为:uglPixelSet

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值