标题 16*16点阵程序中送列数据时为什么要取反?

标题 16*16点阵程序中送列数据时为什么要取反?,第1张

取负得正。

程序与硬件电路反了。解决方式最好的方式是改字模。字模就是反着取。字就正了。改程序,改电路。

程序是按行来处理的,每行是16个点阵,需要2个字节来存储,根据程序表达的意思,点阵表也是按行来建立的,而每次取数只能一个字节,所以i这个行号需要乘以2,ia是每行的字节位置,取值范围为1.2。

#include <stdio.h>

#include <alloc.h>

#include <ctype.h>

#include <dos.h>

#include <dir.h>

#include <io.h>

#include <graphics.h>

#define GETADR(n,str) (str *) calloc (n,sizeof(str)) // 申请N个指定字符串长度的地址

#define W16 16

#define C16 32

unsigned char bit[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01}

FILE *fi

char *dot,str[20]

main(int argc,char *argv[])

{

int i,j,nn,xc,yc,MaxX,MaxY,menul[1000]

int graphdriver=DETECT,graphmode

if(argc!=2){ //检测是否输入了2个参数

puts("LT16<???.N4>")

exit(0)

}

dot=GETADR(C16,char) //获取16个char长度的内存地址

fnmerge(str,"","",argv[1],".N4") //建立str 为路径 ,文件名是 第一个参数.N4 的文件(这里可能有bug,str没初始化)

if((fi=fopen(str,"r"))==NULL){ //打开这个文件用于输入

puts("Can't open DATA.")

exit(0)

}

fscanf(fi,"%d",&nn)//读取一个整数

if(nn<=0||nn>1000) //这个数字必须在 0~1000之间

exit(0)

for (i=0i<nni++)

fscanf(fi,"%d",&menul[i])//根据这个数字来决定继续读取的数字数量

fclose(fi)

if((fi=fopen("CLIB16.DOT","rb"))==NULL){ //打开 CLIB16.DOT 这个文件

puts("Can't open CLIB16.DOT")

exit(0)

}

initgraph(&graphdriver,&graphmode,"")// 初始化图形模式

MaxX=getmaxx()// 获得屏幕最大坐标范围

MaxY=getmaxy()

xc=0

yc=20

for(j=0j<nnj++){

i=readlibdot(menul[j]) //读取点阵数据

putchar16(xc,yc) //显示到对应的坐标系

xc+=20

if(xc>MaxX-20){

yc+=20

xc=0

if(yc>MaxY-20){

getch()

clearviewport()

yc=0

}

}

}

getch() //按任意键继续

closegraph() //关闭图形模式

}

readlibdot(int j)

{

int i0,j1,j2

long order,k1

j1=j/100

j2=j-j1*100

if(j1>=9)

j1=j1-6

k1=94*j1+j2-95

order=C16*k1

fseek(fi,order,SEEK_SET)

i0=fread(dot,C16,1,fi)

return(i0)

}

putchar16(int bx,int by) //显示readlibdot 得到的汉字(保存在dot 里面)的每个象素点阵

{

int i,j,kk,k,x1,y1

unsigned char marker

kk=0

y1=by

for(i=0i<16i++,y1++){

for(j=0j<2j++){

x1=bx+j*8

marker=*(dot+kk)

kk++

for(k=0k<8k++){

if(!(marker&bit[k]))

continue

putpixel(x1+k,y1,YELLOW)

}

}

}

return

}

点阵字库

一般我们使用16*16的点阵宋体字库,所谓16*16,是每一个汉字在纵、横各16点的区域内显示的。

不过后来又有了HZK12、HZK24,HZK32和HZK48字库及黑体、楷体和隶书字库。

虽然汉字库种类繁多,但都是按照区位的顺序排列的。前一个字节为该汉字的区号,后一个字节为该字的位号。

每一个区记录94个汉字,位号则为该字在该区中的位置。

因此,汉字在汉字库中的具体位置计算公式为:94*(区号-1)+位号-1。

减1是因为数组是以0为开始而区号位号是以1为开始的。

这仅为以汉字为单位该汉字在汉字库中的位置,那么,如何得到以字节为单位得到该汉字在汉字库中的位置呢?

只需乘上一个汉字字模占用的字节数即可,

即:(94*(区号-1)+位号-1)*一个汉字字模占用字节数,而按每种汉字库的汉字大小不同又会得到不同的结果。

以16*16点阵字库为例,计算公式则为:(94*(区号-1)+(位号-1))*32。

汉字库文该从该位置起的32字节信息即记录了该字的字模信息。

了解点阵汉字及汉字库的构成原理后,显示汉字就变得简单。以16*16点阵字库为例,

通常的方法是:将文件工作指针移到需要的汉字字模处、将汉字库文件读入一2*16数组再用for循环一位位地显示。

#include "graphics.h"

#include "stdio.h"

main()

{ int i=VGA,j=VGAHI,k

unsigned char mat[16][2],chinease[3]="我"

FILE *HZK

if((HZK=fopen("hzk16","rb"))==NULL)exit(0)

initgraph(&i,&j,"")

i=chinease[0]-0xa0j=chinease[1]-0xa0/*获得区码与位码*/

fseek(HZK,(94*(i-1)+(j-1))*32l,SEEK_SET)

fread(mat,32,1,HZK)

for(j=0j<16j++)

for(i=0i<2i++)

for(k=0k<8k++)

if(mat[j][i]&(0x80>>k)) /*测试为1的位则显示*/

putpixel(i*8+k,j,WHITE)

getch()

closegraph()

fclose(HZK)

}

/*************** 点阵字模工具编程辅助效果示例 ***************/

/************************************************************************

该示例中的字模数组均由“点阵字模工具”生成,你可以用你自己需要的点阵信息来

替换示例中的字模信息,注意字模大小要一致,否则显示会出问题。

用WIN-TC的字模工具生成指定字模信息能给你提供方便的集成小型字库解决方案

************************************************************************/

#include "Conio.h"

#include "graphics.h"

#define closegr closegraph

void initgr(void) /* BGI初始化 */

{

int gd = DETECT, gm = 0/* 和gd=VGA,gm=VGAHI是同样效果 */

registerbgidriver(EGAVGA_driver)/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */

initgraph(&gd, &gm, "")

}

void drawmat(char *mat,int matsize,int x,int y,int color)

/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/

{

int i, j, k, n

n = (matsize - 1) / 8 + 1

for(j = 0j <matsizej++)

for(i = 0i <ni++)

for(k = 0k <8k++)

if(mat[j * n + i] &(0x80 >>k)) /*测试为1的位则显示*/

putpixel(x + i * 8 + k, y + j, color)

}

char yi12[]={

/* 以下是 '1' 的 12点阵宋体 字模,24 byte */

0x00,0x00,0x0C,0x00,0x1C,0x00,0x3C,0x00,

0x0C,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,

0x0C,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,

}

char er12[]={

/* 以下是 '2' 的 12点阵宋体 字模,24 byte */

0x00,0x00,0x3E,0x00,0x63,0x00,0x03,0x00,

0x06,0x00,0x0C,0x00,0x18,0x00,0x30,0x00,

0x63,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,

}

char dian12[]={

/* 以下是 '点' 的 12点阵宋体 字模,24 byte */

0x04,0x00,0x07,0xC0,0x04,0x00,0x04,0x00,

0x3F,0x80,0x20,0x80,0x20,0x80,0x3F,0x80,

0x00,0x00,0x49,0x40,0xC9,0x20,0x00,0x00,

}

char zhen12[]={

/* 以下是 '阵' 的 12点阵宋体 字模,24 byte */

0xF2,0x00,0x9F,0xE0,0x92,0x00,0xA5,0x00,

0xA5,0x00,0x97,0xE0,0x91,0x00,0xB1,0x00,

0x8F,0xE0,0x81,0x00,0x81,0x00,0x00,0x00,

}

char song16[]={

/* 以下是 '宋' 的 16点阵宋体 字模,32 byte */

0x02,0x00,0x01,0x00,0x7F,0xFE,0x41,0x04,

0x81,0x08,0x01,0x00,0x7F,0xFC,0x03,0x80,

0x05,0x80,0x05,0x40,0x09,0x20,0x11,0x10,

0x21,0x0E,0x41,0x04,0x01,0x00,0x00,0x00,

}

char ti16[]={

/* 以下是 '体' 的 16点阵宋体 字模,32 byte */

0x10,0x40,0x18,0x40,0x10,0x40,0x20,0x40,

0x37,0xFC,0x60,0xC0,0xA0,0xE0,0x21,0x60,

0x21,0x50,0x22,0x48,0x24,0x4E,0x2B,0xF4,

0x20,0x40,0x20,0x40,0x20,0x40,0x00,0x00,

}

char zi24[]={

/* 以下是 '字' 的 24点阵隶书 字模,72 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x18,0x00,0x08,0x1C,0x10,

0x1F,0xFF,0xF0,0x18,0x00,0x30,0x18,0xFF,

0x10,0x09,0xC3,0x90,0x00,0x3C,0x00,0x00,

0x1C,0x00,0x3F,0xFF,0xFE,0x7E,0x0C,0xFE,

0x00,0x1C,0x04,0x00,0x1C,0x00,0x04,0x3C,

0x00,0x03,0xF8,0x00,0x00,0xE0,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

}

char mo24[]={

/* 以下是 '模' 的 24点阵楷体_GB2312 字模,72 byte */

0x00,0x00,0x00,0x00,0x00,0x60,0x02,0x00,

0x30,0x03,0x0C,0x20,0x03,0x04,0x3C,0x02,

0x07,0xE0,0x02,0x1C,0x40,0x02,0x00,0x40,

0x03,0xC0,0x70,0x7E,0x1F,0x98,0x02,0x08,

0x10,0x06,0x0F,0x90,0x07,0x88,0x10,0x0A,

0xCB,0xE0,0x1A,0x05,0x00,0x12,0x01,0x1E,

0x22,0x0F,0xFE,0x42,0x32,0x80,0x02,0x02,

0x40,0x02,0x04,0x60,0x02,0x0C,0x30,0x02,

0x18,0x1C,0x02,0x20,0x0F,0x02,0x00,0x00,

}

char guan48[]={

/* 以下是 '灌' 的 48点阵黑体 字模,288 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x03,0xC0,0x38,0x00,

0x03,0x00,0x03,0xC0,0x38,0x00,0x07,0x80,

0x03,0xC0,0x38,0x00,0x07,0xC0,0x03,0xC0,

0x38,0x00,0x03,0xF1,0xFF,0xFF,0xFF,0xFC,

0x01,0xF9,0xFF,0xFF,0xFF,0xFC,0x00,0x79,

0xF1,0xC0,0x39,0xFC,0x00,0x30,0x01,0xC0,

0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0xFF,0xF0,0xFF,0xE0,0x00,0x00,0xFF,0xF0,

0xFF,0xE0,0x00,0x00,0xE0,0x70,0xE0,0xE0,

0x0E,0x00,0xE0,0x70,0xE0,0xE0,0x1F,0x80,

0xE0,0x70,0xE0,0xE0,0x1F,0xE0,0xFF,0xF0,

0xFF,0xE0,0x07,0xF0,0xFF,0xF0,0xFF,0xE0,

0x01,0xF0,0xFF,0xF1,0xFF,0xE0,0x00,0x60,

0x08,0x07,0x00,0x00,0x00,0x20,0x1E,0x03,

0x80,0x00,0x00,0x00,0x1E,0x03,0x00,0x00,

0x00,0x00,0x1F,0xFF,0xFF,0xF0,0x00,0x00,

0x3F,0xFF,0xFF,0xF0,0x00,0x00,0x3F,0xFF,

0xFF,0xF0,0x00,0x00,0x7C,0x03,0x80,0x00,

0x00,0x20,0x7C,0x03,0x80,0x00,0x00,0x70,

0xFC,0x03,0x80,0x00,0x00,0x71,0xFF,0xFF,

0xFF,0xE0,0x00,0x73,0xFF,0xFF,0xFF,0xE0,

0x00,0xF3,0xBC,0x03,0x80,0x60,0x00,0xE3,

0xBC,0x03,0x80,0x00,0x01,0xE1,0x3C,0x03,

0x80,0x00,0x01,0xC0,0x3F,0xFF,0xFF,0xE0,

0x01,0xC0,0x3F,0xFF,0xFF,0xE0,0x03,0xC0,

0x3F,0xFF,0xFF,0xE0,0x03,0x80,0x3C,0x03,

0x80,0x00,0x07,0x80,0x3C,0x03,0x80,0x00,

0x0F,0x80,0x3C,0x03,0x80,0x00,0x0F,0x00,

0x3F,0xFF,0xFF,0xF8,0x1F,0x00,0x3F,0xFF,

0xFF,0xF8,0x1F,0x00,0x3C,0x00,0x00,0x00,

0x06,0x00,0x3C,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

}

char guan64[]={

/* 以下是 '灌' 的 64点阵方正黄草简体 字模,512 byte */

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,0x3F,0x00,0x00,

0x00,0x00,0x00,0x00,0x01,0xFF,0xC0,0x00,

0x00,0x00,0x00,0x00,0x03,0xCF,0xC0,0x00,

0x00,0x00,0x00,0x00,0x1E,0x07,0xC0,0x00,

0x00,0x00,0x00,0x03,0xF8,0x07,0x80,0x00,

0x00,0x04,0x00,0x03,0xF8,0x0F,0x00,0x00,

0x00,0x06,0x00,0x03,0xF0,0x18,0x00,0x00,

0x00,0x07,0x00,0x01,0xF0,0x30,0x00,0x00,

0x00,0x07,0x80,0x01,0xF0,0x00,0x00,0x00,

0x00,0x03,0xC0,0x01,0xF0,0x00,0x00,0x00,

0x00,0x03,0xE0,0x00,0x00,0x06,0x00,0x00,

0x00,0x03,0xF0,0x00,0x00,0x0F,0xE0,0x00,

0x00,0x07,0xF0,0x00,0x00,0x3F,0xC0,0x00,

0x00,0x07,0xE0,0x00,0x01,0xFF,0x00,0x00,

0x00,0x0F,0x00,0x00,0x0F,0xF8,0x00,0x00,

0x00,0x0C,0x00,0x00,0x7F,0xC0,0x00,0x00,

0x00,0x08,0x00,0x03,0xFF,0x00,0x00,0x00,

0x00,0x08,0x00,0x0F,0xF0,0x07,0xC0,0x00,

0x00,0x00,0x00,0x3F,0x40,0x0F,0xC0,0x00,

0x00,0x00,0x00,0x18,0x80,0x3F,0x80,0x00,

0x00,0x00,0x00,0x01,0x00,0x7F,0x00,0x00,

0x00,0x00,0x00,0x03,0x0F,0xFC,0x00,0x00,

0x00,0x00,0x00,0x06,0x1F,0xF8,0x00,0x00,

0x00,0x00,0x00,0x0E,0x23,0xF0,0x00,0x00,

0x00,0x00,0x00,0x0E,0xC3,0xE0,0x00,0x00,

0x00,0x80,0x00,0x1F,0x87,0xC0,0x00,0x00,

0x00,0xC0,0x00,0x1F,0x8F,0x87,0x80,0x00,

0x00,0x70,0x02,0x0F,0x9F,0x0F,0x80,0x00,

0x00,0x7C,0x02,0x0F,0xBE,0x1C,0xE0,0x00,

0x00,0x3E,0x04,0x07,0xFC,0x18,0xE0,0x00,

0x00,0x3E,0x04,0x03,0xF0,0x1B,0xC0,0x00,

0x00,0x3E,0x0C,0x01,0xE0,0x1F,0x80,0x00,

0x00,0x1C,0x08,0x03,0xC0,0x1F,0x00,0x00,

0x00,0x18,0x18,0x07,0x80,0x7C,0x00,0x00,

0x00,0x18,0x38,0x0F,0x01,0xFC,0x00,0x00,

0x00,0x18,0x30,0x1F,0x07,0xDC,0x00,0x00,

0x00,0x30,0x70,0x3F,0x1F,0x0C,0x00,0x00,

0x00,0x30,0x70,0x7B,0x38,0x0C,0x00,0x00,

0x00,0x30,0xE0,0xF3,0x60,0x0C,0x00,0x00,

0x00,0x30,0xE1,0xE3,0x00,0x0E,0x00,0x00,

0x00,0x71,0xC3,0xE3,0x00,0x3E,0x00,0x00,

0x00,0x71,0xC3,0xC3,0x00,0x6E,0x00,0x00,

0x00,0x73,0x83,0xC3,0x00,0xCE,0x00,0x00,

0x00,0x77,0x80,0x07,0x00,0x9E,0x00,0x00,

0x00,0x77,0x80,0x07,0x00,0x9C,0x00,0x00,

0x00,0x7F,0x00,0x07,0x00,0x9C,0x00,0x00,

0x00,0x7F,0x00,0x07,0x00,0xBC,0x00,0x00,

0x00,0x7E,0x00,0x07,0x00,0xFC,0x00,0x00,

0x00,0x7E,0x00,0x07,0x00,0xFC,0x00,0x00,

0x00,0x7C,0x00,0x07,0x00,0xFF,0x00,0x00,

0x00,0x7C,0x00,0x06,0x00,0xDE,0x00,0x00,

0x00,0xFC,0x00,0x06,0x00,0x5C,0x00,0x00,

0x01,0xF8,0x00,0x06,0x00,0x78,0x00,0x00,

0x00,0xF8,0x00,0x0E,0x00,0x78,0xF8,0x00,

0x00,0xF8,0x00,0x0E,0x00,0xFF,0xF8,0x00,

0x00,0x78,0x00,0x0E,0x01,0xFF,0xB0,0x00,

0x00,0x70,0x00,0x06,0x01,0xF0,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 matarray16k[]={

/* 以下是 '该' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x08,0x60,0x08,0x00,

0x00,0x0C,0x03,0xF0,0x18,0x50,0x30,0x90,

0x11,0x70,0x11,0xA8,0x14,0x58,0x18,0xB0,

0x13,0x70,0x04,0x8C,0x03,0x04,0x00,0x00,

/* 以下是 '程' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x02,0x00,0x0C,0xFC,

0x3C,0x88,0x08,0x88,0x0E,0x70,0xF8,0x18,

0x18,0xE0,0x1E,0x20,0x28,0xF0,0xC8,0x20,

0x08,0x3E,0x09,0xC0,0x08,0x00,0x00,0x00,

/* 以下是 '序' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x80,0x00,0x90,0x0B,0xE0,

0x0C,0x00,0x0B,0xF0,0x08,0x40,0x10,0x80,

0x11,0xFC,0x1E,0x88,0x20,0x80,0x20,0x80,

0x40,0x80,0x80,0x80,0x01,0x80,0x00,0x80,

/* 以下是 '已' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0xC0,0x0F,0x40,

0x00,0xC0,0x10,0x80,0x10,0x80,0x1F,0x00,

0x10,0x00,0x10,0x00,0x10,0x04,0x10,0x04,

0x08,0x06,0x07,0xF8,0x00,0x00,0x00,0x00,

/* 以下是 '集' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x02,0x80,0x04,0x10,0x07,0xE0,

0x0C,0xE0,0x17,0x80,0x05,0xC0,0x06,0xB0,

0x0B,0x40,0x08,0x9C,0x1F,0xE0,0x23,0x40,

0x05,0x30,0x09,0x1C,0x31,0x00,0x00,0x00,

/* 以下是 '成' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x03,0x00,0x01,0x30,0x01,0x10,

0x01,0x00,0x01,0xC0,0x1E,0x80,0x10,0x90,

0x12,0x90,0x1E,0x60,0x12,0x60,0x22,0x60,

0x26,0x92,0x45,0x0A,0x00,0x06,0x00,0x00,

/* 以下是 '小' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,

0x01,0x00,0x01,0x00,0x01,0x00,0x11,0x18,

0x11,0x0C,0x21,0x04,0x21,0x00,0x01,0x00,

0x07,0x00,0x03,0x00,0x00,0x00,0x00,0x00,

/* 以下是 '型' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x08,0x03,0x08,0x1E,0x28,

0x0A,0x48,0x0F,0xC8,0x7A,0x48,0x0A,0x08,

0x12,0x18,0x21,0x08,0x01,0x40,0x07,0x80,

0x01,0x00,0x01,0xF8,0x3E,0x00,0x00,0x00,

/* 以下是 '汉' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x30,0x00,0x11,0xF0,

0x02,0x20,0x04,0x20,0x62,0x40,0x29,0x40,

0x10,0x80,0x11,0x40,0x22,0x60,0x64,0x38,

0x78,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,

/* 以下是 '字' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x01,0x00,0x01,0x10,0x11,0xF8,

0x1E,0x10,0x20,0xC0,0x07,0xC0,0x00,0x80,

0x01,0x38,0x1F,0xC0,0x20,0x80,0x00,0x80,

0x00,0x80,0x00,0x80,0x01,0x80,0x00,0x00,

/* 以下是 '库' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x80,0x00,0x80,0x01,0xF0,

0x0E,0x80,0x08,0xF0,0x0B,0x00,0x09,0x40,

0x0A,0x78,0x13,0xC0,0x10,0x7E,0x2F,0xC0,

0x20,0x40,0x40,0x40,0x00,0x40,0x00,0x40,

/* 以下是 ',' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,

0x10,0x00,0x10,0x00,0x20,0x00,0x00,0x00,

/* 以下是 '可' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,

0x7F,0x40,0x00,0x20,0x07,0x20,0x19,0x20,

0x12,0x20,0x0E,0x40,0x00,0x40,0x00,0x40,

0x00,0x40,0x00,0xC0,0x00,0x40,0x00,0x00,

/* 以下是 '脱' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x08,0x3D,0x90,

0x24,0x80,0x24,0x70,0x25,0x90,0x25,0x20,

0x35,0xE0,0x24,0xA0,0x24,0xC0,0x45,0x42,

0x4E,0x22,0x88,0x3E,0x00,0x00,0x00,0x00,

/* 以下是 '离' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x03,0x00,0x01,0x30,0x1F,0xC0,

0x00,0xA0,0x0F,0xA0,0x0A,0xA0,0x0F,0xE0,

0x09,0x00,0x03,0xF8,0x1E,0x88,0x17,0xC8,

0x14,0x88,0x10,0x70,0x10,0x10,0x00,0x00,

/* 以下是 '文' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x02,0x00,0x01,0x80,0x00,0x00,

0x00,0x70,0x07,0x80,0x18,0x80,0x01,0x80,

0x05,0x00,0x03,0x00,0x03,0x00,0x04,0xC0,

0x38,0x70,0x00,0x3E,0x00,0x00,0x00,0x00,

/* 以下是 '件' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x08,0x40,0x0C,0x40,0x08,0x40,

0x11,0x40,0x11,0xF0,0x32,0x40,0x50,0x44,

0x91,0xF8,0x12,0x40,0x10,0x40,0x10,0x40,

0x10,0x40,0x10,0x40,0x00,0x00,0x00,0x00,

/* 以下是 '的' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x20,0x0C,0x20,

0x08,0x40,0x10,0x48,0x1E,0xFC,0x23,0x0C,

0x24,0x8C,0x3C,0x48,0x24,0x08,0x24,0x08,

0x3C,0x08,0x00,0x38,0x00,0x18,0x00,0x00,

/* 以下是 '支' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,

0x01,0xE0,0x0F,0x00,0x01,0x00,0x01,0xC0,

0x0E,0x40,0x08,0x80,0x06,0x80,0x01,0x00,

0x02,0xC0,0x0C,0x78,0x30,0x1C,0x00,0x00,

/* 以下是 '持' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x08,0x20,0x08,0x20,0x08,0x20,

0x08,0x70,0x3C,0x20,0x08,0x3E,0x0F,0xD0,

0x08,0x1C,0x3B,0xF0,0xC9,0x10,0x08,0x90,

0x08,0x10,0x18,0x10,0x00,0x30,0x00,0x00,

/* 以下是 '运' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x00,0x60,0x11,0x80,

0x00,0x00,0x00,0x78,0x27,0x80,0x71,0x80,

0x21,0x20,0x22,0xF0,0x23,0x10,0x20,0x00,

0x5F,0x80,0x00,0xFC,0x00,0x00,0x00,0x00,

/* 以下是 '行' 的 16点阵楷体_GB2312 字模,32 byte */

0x00,0x00,0x00,0x00,0x06,0x00,0x0C,0x38,

0x10,0x40,0x24,0x00,0x04,0x1F,0x0B,0xF0,

0x18,0x10,0x28,0x10,0xC8,0x10,0x08,0x10,

0x08,0x10,0x08,0x70,0x00,0x20,0x00,0x00,

}

int main(void)

{

int i, j

initgr()/* BGI初始化 */

drawmat(yi12, 12, 100, 125, WHITE)

drawmat(er12, 12, 115, 125, WHITE)

drawmat(dian12, 12, 130, 125, WHITE)

drawmat(zhen12, 12, 145, 125, WHITE)

drawmat(song16, 16, 160, 123, YELLOW)

drawmat(ti16, 16, 180, 123, YELLOW)

drawmat(zi24, 24, 200, 119, CYAN)

drawmat(mo24, 24, 230, 117, GREEN)

drawmat(guan48, 48, 350, 110, RED)

drawmat(guan64, 64, 410, 100, YELLOW)

for(i = 0i <15i++)

drawmat(matarray16k + i * 32, 16, 200 + i * 15, 200, WHITE)

drawmat(matarray16k + 8 * 32, 16, 200 + i * 15, 200, WHITE)

drawmat(matarray16k + 9 * 32, 16, 200 + (++i) * 15, 200, WHITE)

drawmat(matarray16k + 10 * 32, 16, 200 + (++i) * 15, 200, WHITE)

for(i = 18i <25i++)

drawmat(matarray16k + (i - 3) * 32, 16, 200 + i * 15, 200, WHITE)

getch()/* 暂停一下,看看前面绘图代码的运行结果 */

closegr()/* 恢复TEXT屏幕模式 */

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10995128.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存