在图形模式下怎么输出汉字?
怎么输出汉字呀?[em03] 调用字库回复:(beyondabcd)调用字库
老兄,你也太简单了吧~<BR>能不能讲清楚点呀?<BR>最好再举个例子[em11] 你在迅雷上找一本C游戏入门到精通的一本书那上讲的很细,对了,还有源码 <P>LZ可以找到一个现成的例子<BR><BR>在WIN-TC的安装目录下有个中文汉字显示实例,你自己可以去看看源码。</P> <a href="http://bbs.bc-cn.net/viewthread.php?tid=131723&star=at" target="_blank" >http://bbs.bc-cn.net/viewthread.php?tid=131723&star=at</A># #include<dos.h> <BR> #include<conio.h> <BR> #include<stdio.h> <BR> #include<stdlib.h> <BR> #include<process.h> <BR> #define VGA256 0x13 <BR> #define TEXT_MODE 0x03 <BR> <BR> unsigned char far *video_buffer=(char far *)0xA0000000L; <BR> <BR> unsigned char bit[8]={128,64,32,16,8,4,2,1}; <BR> <BR> void Delay(int clicks) <BR> { <BR> unsigned int far *clock=(unsigned int far *)0x0000046CL; <BR> unsigned int now; <BR> now=*clock; <BR> while(abs(*clock-now)<clicks){} <BR> } <BR> <BR> <BR> void Plot_Pixel_Fast(int x,int y,char color) <BR> { <BR> video_buffer[((y<<8)+(y<<6))+x]=color; <BR> } <BR> <BR> void GetHzBit(char ch0,char ch1,char *bitdata) <BR> { <BR> FILE *stream; <BR> long fpos; <BR> fpos=32L*(((unsigned char)ch0-161)*94+((unsigned char)ch1-161)); <BR> if((stream=fopen("hzk16","rb"))==NULL){ <BR> printf("Open hzk16 error!\\n"); <BR> exit(0); <BR> } <BR> fseek(stream, fpos, SEEK_SET); <BR> fread( bitdata, 32, 1, stream); <BR> fclose(stream); <BR> } <BR> <BR> void WriteHz(char ch0,char ch1,int x,int y,int color) <BR> { <BR> register int i,j,k; <BR> unsigned vpos; <BR> char bitdata[32]; <BR> GetHzBit(ch0,ch1,bitdata); <BR> for(i=0;i<16;i++) <BR> for(j=0;j<8;j++){ <BR> if(bitdata[2*i]&bit[j]) <BR> Plot_Pixel_Fast(x+j,i+y,color); <BR> if(bitdata[2*i+1]&bit[j]) <BR> Plot_Pixel_Fast(x+8+j,i+y,color); <BR> } <BR> } <BR> void WriteHzStr(char *str,int x,int y,int color) <BR> { <BR> int num,i,j,xx; <BR> unsigned char s0,s1; <BR> num=strlen(str); <BR> xx=x; <BR> for(i=0;i<num;i+=2){ <BR> WriteHz(str[i],str[i+1],xx,y,color); <BR> xx+=16; <BR> } <BR> } <BR> <BR> void Words_Step(char *str,int x,int y,int color,int speed) <BR> { <BR> int num,i,j,xx; <BR> unsigned char s0,s1; <BR> num=strlen(str); <BR> xx=x; <BR> for(i=0;i<num;i+=2){ <BR> WriteHz(str[i],str[i+1],xx,y,color); <BR> Delay(speed); <BR> xx+=16; <BR> } <BR> } <BR> <BR> void Set_Video_Mode(int mode) <BR> { <BR> union REGS inregs,outregs; <BR> inregs.h.ah=0; <BR> inregs.h.al=(unsigned char)mode; <BR> int86(0x10,&inregs,&outregs); <BR> } <BR> <BR> void main(void) <BR> { <BR> Set_Video_Mode(VGA256); <BR> WriteHzStr("按任意键进入中文渐显:",10,100,WHITE); <BR> getch(); <BR> Words_Step("现在文字处于渐显状态。",10,130,WHITE,4); <BR> getch(); <BR> Set_Video_Mode(TEXT_MODE); <BR> } <BR><BR>这个是我找到的不知道对你有帮助么?[em03] 我晕了~~输出几个汉字原来这么复杂的<img><br>没有什么函数的吗?<br> <P>自己写一个函数以后不就可以直接用了</P> yuerhb给你的都是函数啊页:
[1]
