计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

不依赖高点阵字库实现屏幕汉字显示毕业(2)

2015-06-04 02:32
导读:#include #include #define RED 4 #define grOK 0 #define STRLEN 6 /*要显示的汉字串所含汉字个数*/ int writehz (int,int,int,int,int,int); void init-graph(); void far restorecr tmode(); FILE *


#include
#include
#define RED 4
#define grOK 0
#define STRLEN 6
/*要显示的汉字串所含汉字个数*/
int writehz (int,int,int,int,int,int);
void init-graph();
void far restorecr tmode();
FILE *fp;
main ()
{
init-graph(); /*初始化图形模式*/
if((fp=fopen("subhzk","rb"))==NULL){
printf("Cannot open file/n");
exit(1);
}
writehz(30,30,10,2,2,RED);
fclose(fp);
getch();
restorecr tmode();
return 0;
}
void init-graph()
{
int gdriver=DETECT,gmode,errorcode;
initgraph(&gdriver,&gmode,"");
errorcode=graphresult();
if(errorcode!=grOK)
{
printf("Graphics error:%s\n",grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit();
}
}
/*汉字字模读取与放大显示*/
int writehz(int x,int y,int z,int x-zoom,int y-zoom,int color)
{
int i,j,k,n;
char dot-arrays[180]; /*定义180字节数组,暂存汉字字模*/
for(n=0;n{
fread(dot-arrays,sizeof(dot-arrays),1,fp);
for(i=0;i<36;i++) /*绘汉字上排(1至72字节所含点阵)*/
for(j=0,j<2;j++)
for(k=0;k<8,k++)
if((dot-arrays[i*2+j]>>(7-k))&1)
putpixel(x-zoom*(x+i),y-zoom*(y+j*8+k),color);
for(i=0;i<36;i++) /*绘汉字下排(73至180字节所含点阵);*/
for(j=0,j<3;j++)
for(k=0,k<8,k++)
if((dot-arrays[72+i*3+j]>>(7-k))&1)
putpixel(x-zoom*(x+i),y-zoom*(y+16+j*8+k),color);
x=x+36+z; /*移位,准备绘下一汉字*/
}
return 0;
}

上一篇:Windows 95的引导图形界面及抖动变色图像的形成 下一篇:没有了