/*************** 點陣字模工具編程輔助效果示例 ***************//************************************************************************
該示例中的字模數組均由“點陣字模工具”生成,你可以用你自己需要的點陣信息來
替換示例中的字模信息,注重字模大小要一致,否則顯示會出問題。用WIN-TC的字模工具生成指定字模信息能給你提供方便的集成小型字庫解決方案
************************************************************************/#include "Conio.h"
#include "graphics.h"
#define closegr closegraphvoid 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=0;j<matsize;j++)
for(i=0;i<n;i++)
for(k=0;k<8;k++)
if(mat[j*n+i]&(0x80>>k)) /*測試為1的位則顯示*/
putpixel(x+i*8+k,y+j,color);
}char shan16[]={
/* 以下是 '山' 的 16點陣宋體 字模,32 byte */
0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x08,0x21,0x08,
0x21,0x08,0x21,0x08,0x21,0xF8,0x2E,0x08,
0x30,0x08,0x00,0x00,0x00,0x00,0x00,0x00, };char dong16[]={
/* 以下是 'dong' 的 16點陣宋體 字模,32 byte */
0x01,0x00,0x01,0x00,0x02,0x00,0x03,0xF0,
0x3C,0x00,0x05,0x00,0x09,0x00,0x11,0xF0,
0x1F,0x00,0x01,0x00,0x09,0x20,0x09,0x10,
0x11,0x08,0x23,0x00,0x01,0x00,0x00,0x00,};char da16[]={
/* 以下是 '點' 的 16點陣宋體 字模,32 byte */
0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,
0x02,0x00,0x03,0xF0,0x3E,0x00,0x02,0x00,
0x05,0x00,0x04,0x80,0x08,0x40,0x10,0x20,
0x20,0x18,0x40,0x0E,0x00,0x00,0x00,0x00,};char xue16[]={
/* 以下是 '陣' 的 16點陣宋體 字模,32byte */
0x00,0x20,0x12,0x20,0x09,0x20,0x00,0x40,
0x23,0xFC,0x3C,0x08,0x63,0xC0,0x44,0x80,
0x01,0x00,0x01,0xF8,0x7E,0x80,0x00,0x80,
0x00,0x80,0x02,0x80,0x01,0x00,0x00,0x00,};char wei16[]={
/* 以下是 '宋' 的 16點陣宋體 字模,32 byte */
0x01,0x00,0x01,0x20,0x01,0x10,0x01,0xE0,
0x3F,0x00,0x21,0x00,0x22,0x90,0x2C,0x90,
0x27,0x50,0x3D,0x60,0x2A,0x20,0x44,0x52,
0x4A,0x8A,0x91,0x06,0x00,0x00,0x00,0x00,};char hai16[]={
/* 以下是 '體' 的 16點陣宋體 字模,32 byte */
0x01,0x00,0x01,0x00,0x21,0x70,0x13,0x80,
0x04,0x30,0x43,0xD0,0x22,0x90,0x02,0xFE,
0x1F,0x90,0x22,0x90,0x24,0x10,0x47,0xFC,
0x40,0x20,0x00,0xA0,0x00,0x40,0x00,0x00,};char fen16[]={
/* 以下是 '字' 的 16點陣隸書 字模,32 byte */
0x00,0x00,0x03,0x00,0x00,0x80,0x04,0x40,
0x04,0x20,0x08,0x18,0x10,0x0E,0x21,0xC0,
0xDE,0x40,0x02,0x40,0x04,0x40,0x08,0x40,
0x12,0x80,0x61,0x00,0x00,0x00,0x00,0x00,
};char xiao16[]={
/* 以下是 '模' 的 24點陣楷體_GB2312 字模,72 byte */
0x00,0x00,0x10,0xC0,0x10,0x20,0x10,0x78,
0x13,0x80,0x1C,0x30,0x71,0x08,0x12,0x20,
0x39,0x20,0x54,0xA0,0x90,0x40,0x10,0xA0,
0x11,0x18,0x16,0x0E,0x10,0x00,0x00,0x00,};char dian32[]={
/* 以下是 '灌' 的 32點陣黑體 字模,128 byte */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,
0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,
0x00,0x03,0x00,0x00,0x00,0x03,0x00,0x00,
0x07,0xFF,0xFF,0x80,0x06,0x03,0x00,0x80,
0x06,0x03,0x00,0x80,0x06,0x03,0x00,0x80,
0x06,0x03,0x00,0x80,0x06,0x03,0x00,0x80,
0x07,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x80,
0x06,0x03,0x00,0x80,0x06,0x03,0x00,0x80,
0x06,0x03,0x00,0x80,0x06,0x03,0x00,0x80,
0x06,0x03,0x00,0x80,0x07,0xFF,0xFF,0x80,
0x06,0x03,0x00,0x00,0x06,0x03,0x00,0x00,
0x06,0x03,0x00,0x00,0x06,0x03,0x00,0x00,
0x00,0x03,0x00,0x18,0x00,0x01,0x00,0x18,
0x00,0x01,0xFF,0xF0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};char zi32[]={
/* 以下是 '灌' 的 32點陣方正黃草簡體 字模,128 byte */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x03,0xFF,0xFF,0xC0,0x03,0xFF,0xFF,0xC0,
0x00,0x00,0x03,0x80,0x00,0x00,0x06,0x00,
0x00,0x00,0x18,0x00,0x00,0x00,0x70,0x00,
0x00,0x01,0xC0,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x3F,0xFF,0xFF,0xFC,
0x3F,0xFF,0xFF,0xFC,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x1F,0x80,0x00,0x00,0x0F,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};char xi32[]={
/* 以下是 'xi' 的 32點陣楷體_GB2312 字模,128 byte */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,
0x00,0x00,0x7F,0xE0,0x07,0xFF,0xC0,0x00,
0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,
0x00,0x04,0x00,0x00,0x00,0x08,0x06,0x00,
0x00,0x10,0x0E,0x00,0x00,0x60,0x18,0x00,
0x01,0xFF,0xE0,0x00,0x00,0x81,0x80,0x00,
0x00,0x03,0x00,0x00,0x00,0x04,0x03,0x00,
0x00,0x18,0x00,0x80,0x00,0x60,0x00,0xE0,
0x03,0xFF,0xFF,0xF0,0x03,0xE0,0xC0,0x38,
0x00,0x00,0xC0,0x10,0x00,0x00,0xC0,0x00,
0x00,0x00,0xC0,0x00,0x00,0xC0,0xC3,0x00,
0x01,0x80,0xC1,0xC0,0x03,0x00,0xC0,0x60,
0x06,0x00,0xC0,0x30,0x0C,0x00,0xC0,0x10,
0x00,0x0F,0x80,0x00,0x00,0x07,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,};
char yao32[]={
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,0x40,0x42,0x00,
0x00,0x60,0x46,0x00,0x00,0xC0,0x66,0x00,
0x00,0x80,0x64,0x00,0x01,0x06,0x64,0x60,
0x03,0x03,0x64,0xC0,0x33,0x30,0x64,0x00,
0x7F,0xF0,0x64,0x00,0x06,0x20,0x64,0x00,
0x06,0x23,0x45,0x80,0x02,0x46,0x44,0x40,
0x01,0xC0,0x44,0x00,0x01,0xC0,0x46,0x00,
0x03,0x30,0xC6,0x00,0x06,0x01,0x83,0x82,
0x3C,0x07,0x03,0xFC,0x10,0x1E,0x01,0xFC,
0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
char peng32[]=;
main()
{int i,j;
initgr(); /* BGI初始化 */ drawmat(shan16,16,220,125,RED);
drawmat(dong16,16,250,125,RED);
drawmat(da16,16,280,125,GREEN);
drawmat(xue16,16,310,125,GREEN);
drawmat(wei16,16,340,125,YELLOW);
drawmat(hai16,16,370,125,YELLOW);
drawmat(fen16,16,400,125,GREEN);
drawmat(xiao16,16,430,125,GREEN);
drawmat(dian32,32,300,140,RED);
drawmat(zi32,32,340,140,YELLOW);
drawmat(xi32,32,380,140,GREEN);
drawmat(yao32,32,310,180,GREEN);
drawmat(peng32,32,350,180,GREEN);
getch(); /* 暫停一下,看看前面繪圖代碼的運行結果 */
closegr(); /* 恢復TEXT屏幕模式 */
}