C语言中用点阵实现汉字的输出
作者:王鹤 QQ:583241212
该实例也属于图形操作的,所以也要加载图形驱动...
在WIN-TC中的代码:
#include "Conio.h"
#include "graphics.h"
#define closegr closegraph
char wang12S[]={
0x00,0x80,0x7F,0xC0,0x04,0x00,0x04,0x00,
0x04,0x00,0x7F,0xC0,0x04,0x00,0x04,0x00,
0x04,0x00,0x04,0x00,0xFF,0xE0,0x00,0x00,
};
char he64H[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,
0x00,0x00,0x07,0x00,0x01,0xF0,0x00,0x00,
0x00,0x00,0x0F,0x80,0x01,0xE0,0x00,0x00,
0x00,0x00,0x03,0x80,0x03,0xC0,0x00,0x00,
0x00,0x00,0x03,0xC0,0x0F,0x80,0x00,0x00,
0x00,0x00,0x07,0xF8,0x1F,0x00,0x00,0x00,
0x00,0x00,0x07,0x8E,0x38,0x1E,0x00,0x00,
0x00,0x00,0x0F,0x07,0x38,0x3F,0x80,0x00,
0x00,0x0C,0x1E,0x07,0x38,0xFF,0xC0,0x00,
0x00,0x0E,0x7E,0x0F,0x39,0xF3,0xC0,0x00,
0x00,0x0F,0xFC,0x1F,0x3F,0xE3,0xC0,0x00,
0x00,0x0F,0xFC,0x1C,0x3F,0x83,0xC0,0x00,
0x00,0x1F,0xF8,0x30,0x3C,0x03,0xC0,0x00,
0x00,0x3F,0xF8,0xE0,0x3C,0x03,0xC0,0x00,
0x00,0x7F,0xF0,0xE0,0x3C,0x23,0x80,0x00,
0x00,0x7F,0xF1,0xF0,0x3F,0xFB,0x80,0x00,
0x00,0xFE,0x71,0xF8,0x7F,0xFF,0x80,0x00,
0x00,0x7C,0x73,0xF8,0x7F,0xFF,0x80,0x00,
0x00,0x78,0xFF,0xF0,0x78,0x0F,0x00,0x00,
0x00,0x70,0xE3,0xF0,0x78,0x0F,0x00,0x00,
0x00,0x00,0xE1,0xF0,0x70,0x0F,0x00,0x00,
0x00,0x01,0xC1,0xF8,0x70,0x1E,0x00,0x00,
0x00,0x01,0xC3,0xFC,0x71,0xFE,0x00,0x00,
0x00,0x03,0xC7,0xF8,0x70,0xFC,0x00,0x00,
0x00,0x03,0xDF,0xE0,0x70,0x78,0x00,0x00,
0x00,0x07,0xCF,0xE0,0x70,0x39,0x80,0x00,
0x00,0x06,0xC3,0xF0,0x70,0x3F,0xF0,0x00,
0x00,0x0C,0xC3,0xF8,0x71,0xFF,0xF8,0x00,
0x00,0x0C,0xC7,0xF8,0x7F,0xFF,0xFC,0x00,
0x00,0x18,0xFF,0xF8,0x7F,0xE0,0x3E,0x00,
0x00,0x10,0xFF,0xE0,0x7E,0x00,0x1E,0x00,
0x00,0x30,0xFF,0xE0,0x78,0x00,0x1F,0x00,
0x00,0x61,0xC7,0xE0,0x20,0x00,0x1F,0x00,
0x00,0xC1,0xC7,0xE0,0x20,0x00,0x1F,0x80,
0x03,0x81,0xC7,0xFC,0x00,0xFE,0x1F,0x00,
0x03,0x01,0xDF,0xFC,0x0F,0xFE,0x1E,0x00,
0x00,0x01,0xFF,0xFE,0x7F,0xFC,0x3E,0x00,
0x00,0x00,0xFF,0x87,0xFF,0x80,0x3C,0x00,
0x00,0x00,0xDE,0x07,0xF8,0x00,0x3C,0x00,
0x00,0x00,0xC0,0x07,0xE0,0x00,0x7C,0x00,
0x00,0x00,0xC0,0x07,0x80,0x00,0xF8,0x00,
0x00,0x00,0xC0,0x06,0x00,0x00,0xF8,0x00,
0x00,0x00,0xC0,0x00,0x00,0x03,0xF0,0x00,
0x00,0x00,0xC0,0x00,0x07,0xFF,0xF0,0x00,
0x00,0x01,0xC0,0x00,0x03,0xFF,0xE0,0x00,
0x00,0x00,0xC0,0x00,0x00,0xFF,0xC0,0x00,
0x00,0x00,0xC0,0x00,0x00,0x3F,0x80,0x00,
0x00,0x00,0xC0,0x00,0x00,0x0E,0x00,0x00,
0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
char mo64H[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,
0x00,0x00,0x04,0x00,0x00,0x03,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x03,0x00,0x00,
0x00,0x00,0x0F,0x00,0x00,0x02,0x00,0x00,
0x00,0x00,0x0F,0x00,0x00,0x06,0x00,0x00,
0x00,0x00,0x0E,0x00,0x40,0x06,0x00,0x00,
0x00,0x00,0x0E,0x00,0xF8,0x0E,0x00,0x00,
0x00,0x00,0x0E,0x00,0xF0,0x0C,0x00,0x00,
0x00,0x00,0x0E,0x00,0xF0,0x0C,0x00,0x00,
0x00,0x00,0x0E,0x00,0xF0,0x1F,0xE0,0x00,
0x00,0x00,0x0E,0x00,0x70,0x1F,0xE0,0x00,
0x00,0x00,0x0E,0x00,0x7F,0xFF,0x00,0x00,
0x00,0x00,0x0E,0x00,0xFC,0x78,0x00,0x00,
0x00,0x00,0x1E,0x07,0xF0,0x70,0x00,0x00,
0x00,0x00,0x1E,0x07,0xF0,0x60,0x00,0x00,
0x00,0x00,0x1F,0xC2,0x10,0xE0,0x00,0x00,
0x00,0x00,0x1F,0xC0,0x10,0xC0,0x00,0x00,
0x00,0x00,0xFF,0xC0,0x01,0xC0,0x00,0x00,
0x00,0x07,0xFF,0x80,0x03,0xFE,0x00,0x00,
0x00,0x3F,0xFF,0x00,0x1E,0x0F,0x80,0x00,
0x00,0x3F,0xFE,0x00,0xF0,0x0F,0xC0,0x00,
0x00,0x1F,0xFC,0x03,0xC0,0x07,0xC0,0x00,
0x00,0x1E,0x3E,0x07,0x81,0x87,0x80,0x00,
0x00,0x08,0x3E,0x07,0x8F,0x8F,0x80,0x00,
0x00,0x00,0x3F,0x87,0x8F,0x0F,0x00,0x00,
0x00,0x00,0x3F,0xC3,0x8C,0x0F,0x00,0x00,
0x00,0x00,0x7F,0x83,0x80,0x1E,0x00,0x00,
0x00,0x00,0x7C,0x01,0x80,0x1E,0x00,0x00,
0x00,0x00,0xFC,0x01,0xC0,0x7C,0x00,0x00,
0x00,0x00,0xFC,0x00,0xFF,0xF8,0x00,0x00,
0x00,0x01,0xCC,0x00,0x7F,0xF8,0x00,0x00,
0x00,0x03,0x8C,0x00,0x3C,0x00,0x00,0x00,
0x00,0x03,0x0C,0x00,0x1C,0x00,0x00,0x00,
0x00,0x06,0x1C,0x00,0x1C,0x03,0xFE,0x00,
0x00,0x0E,0x1C,0x00,0x1F,0xFF,0xFF,0x00,
0x00,0x1C,0x1C,0x00,0x3F,0xFF,0xFF,0x00,
0x00,0x38,0x1C,0x07,0xFF,0xC0,0x07,0x00,
0x00,0x70,0x1C,0x7F,0xFC,0x00,0x00,0x00,
0x00,0xE0,0x1F,0xFC,0x38,0x00,0x00,0x00,
0x00,0x40,0x1F,0x80,0x30,0x00,0x00,0x00,
0x00,0x00,0x1C,0x00,0x20,0x0E,0x00,0x00,
0x00,0x00,0x1C,0x00,0x60,0x07,0xC0,0x00,
0x00,0x00,0x1C,0x00,0xE0,0x03,0xF0,0x00,
0x00,0x00,0x1C,0x00,0xE0,0x01,0xF8,0x00,
0x00,0x00,0x1C,0x01,0xE0,0x00,0xF8,0x00,
0x00,0x00,0x1C,0x03,0xC0,0x00,0x78,0x00,
0x00,0x00,0x3C,0x07,0x80,0x00,0x38,0x00,
0x00,0x00,0x0C,0x0E,0x00,0x00,0x18,0x00,
0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
void drawmat(char *mat,int matsize,int x,int y,int color)
{int i,j,k,n;
n=(matsize-1)/8+1;
for(j=0;j<matsize;j++)
for(i=0;i<n;i++)
for(k=0;k<8;k++)
if(mat[j*n+i]&(0x80>>k))
putpixel(x+i*8+k,y+j,color);
}
void initgr(void)
{
int gd = DETECT, gm = 0;
registerbgidriver(EGAVGA_driver);
initgraph(&gd,
&gm, "");
}
int main(void)
{int i;
initgr();
drawmat(wang12S,12,12,12,WHITE);
drawmat(mo64H,64,12,20,YELLOW);
for(i=0;i<=255;i++)
{
drawmat(he64H,64,80,20,i);
delay(4000);
}
getch();
closegr();
return 0;
}
加载中,请稍候......