微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题西文DOS下点阵汉字的放大显示
栏目软件操作与技巧
发布1996-05-31
  int handle;
  int getbit(unsigned char c,int n)
  {
   return ((c>>n)&1);}
  void Double-Hz16(int qu,int wei,int x,int y,int color)
  {unsigned int i;
   int i1,i2,i3,place;
   long II;
   char by[32];
  label: place=(qu-1)*94+wei-1;
   II=place*32L; /*handle是主函数中打开的汉字库文件句柄*/
   Iseek(handle,II,SEEK-SET);
   read(handle,by,32);
   for(i1=0;i1<16;i1++)
   for(i2=0;i2<2;i2++)
    for(i3=0;i3<8;i3++)
   if(getbit(by[i1*2+i2],7-i3))
   { putpixel(x+i2*8*2+i3*2,y+2*i1,color);
    putpixel(x+i2*8*2+i3*2+1,y+2*i1,color);
    putpixel(x+i2*8*2+i3*2,y+2*i1+1,color);
    putpixel(x+i2*8*2+i3*2+1,y+2*i1+1,color);
   }
  }/* end of Double-Hz16 */
  此函数需要用到汉字的区位码,若是汉字内码,须将label一行改为place=(Nq-A1)*94+NW-A1。
  这个过程中没有给出汉字放大后,锯齿平滑出理的代码,有兴趣的朋友可与本人联系。