⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hz24.cpp

📁 24点汉字的C++实现代码
💻 CPP
字号:
#include<graphics.h>
#include<conio.h>
#include<io.h>
#include<stdlib.h>
#include<fcntl.h>

void openhzk(void);
int show24(int x,int y,int z,int color,char *p);
int getbit(unsigned char c,int n);
int handle;

int main()
{
   int gdriver=DETECT,gmode;
   initgraph(&gdriver,&gmode,"");
   setbkcolor(1);
   show24(120,200,9,14,"图形与界面程序设计");
/*   close(handle);*/
   getch();
   closegraph();
   return 0;
}

void openhzk(void)
{
    handle=open("hzk24k",O_RDONLY|O_BINARY);
    if(handle==NULL){
       cputs("Error on open the lib.");
       exit(1);
		     }
}

int show24(int x,int y,int z,int color,char *p)
{
    openhzk();
    unsigned int i,c1,c2,c3,f=0;
    int i1,i2,i3,rec;
    long l;
    char by[72];
    while((i=*p++)!=0)
    {
      if(i>0xb0)
	if(f==0)
	{
	  c1=(i-0xb0)&0x07f;
	  f=1;
	}
	else
	{
	  c2=(i-0xa1)&0x07f;
	  f=0;
	  rec=c1*94+c2;
	  l=rec*72L;
	  lseek(handle,l,SEEK_SET);
	  read(handle,by,72);
	  for(i1=0;i1<24;i1++)
	    for(i2=0;i2<=2;i2++)
	      for(i3=0;i3<8;i3++)
		if(getbit(by[i1*3+i2],7-i3))
		 putpixel(x+i1,y+i2*8+i3,color);
		 x=x+24+z;
	  }
       }
close(handle);
       return(x);
}

int getbit(unsigned char c,int n)
{
    return((c>>n)&1);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -