| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1107 人关注过本帖
标题:[求助]如何从字模中读取特定的汉字??
只看楼主 加入收藏
huzi00008
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-10-9
收藏
 问题点数:0 回复次数:4 
[求助]如何从字模中读取特定的汉字??
老师留了一个作业:关于从字模文件读取全部汉字输出在屏幕上 (续):

现在要求不是全部读取,而是特定的指定某个字读出,输出在屏幕上
搜索更多相关主题的帖子: 字模 汉字 
2006-11-21 17:03
ba_wang_mao
Rank: 2
来 自:成都理工大学
等 级:论坛游民
帖 子:297
专家分:27
注 册:2006-11-7
收藏
得分:0 

#include <conio.h>
#include <stdio.h>
/*功能:在屏幕以(x,y)为左上角输出color色的s中-英混合字符串*/
void put_chinese(int x,int y,unsigned char *s,int color)
{
unsigned char mat[32],i,j,is_hz,can_put,
unsigned long position;
FILE *fp;

fp=fopen("hzk16","rb");/*打开汉字库文件*/
if (fp==NULL)return;
while(*s!=0) /*开始输出文字循环*/
{
if(*s>0xa0&&*(s+1)>0xa0
{/*若为中文读取中文字模*/
i=*s-0xa0;/*计算区号*/
j=*(s+1)-0xa0;/*计算位号*/
position=(94*(i-1)+(j-1))*32l;/*计算中文字模位置*/
fseek(fp,position,SEEK_SET);/*移动文件指针到字模位置*/
fread(mat,32,1,fp);/*读取为中文字模*/
}
/*开始输出字模了,将读取的中文或英文字模显示*/
for(j=0;j<16;j++)
for(i=0;i<16;i++)
if((0x80>>i%8)&mat[2*j+i/8])/*对于字模相应位为1则输出*/
putpixel(i+x,y+j+(1-is_hz)*4,color);/*将英文字模显示时下移4pixel,这样看起来美观些*/
x+=18;/*中文间距为18pixel*/
s+=2;
}
fclose(fp);
}

void main()
{
put_chinese(100,200,"中文实例",RED);

}


多年以来还在MSDOS、单片机下搞嵌入式编程,对WINDOWS编程一窍不通,很想了解WINDOWS下病毒编程技术。
2006-11-22 08:41
ba_wang_mao
Rank: 2
来 自:成都理工大学
等 级:论坛游民
帖 子:297
专家分:27
注 册:2006-11-7
收藏
得分:0 
is_hz=1;

多年以来还在MSDOS、单片机下搞嵌入式编程,对WINDOWS编程一窍不通,很想了解WINDOWS下病毒编程技术。
2006-11-22 08:43
ba_wang_mao
Rank: 2
来 自:成都理工大学
等 级:论坛游民
帖 子:297
专家分:27
注 册:2006-11-7
收藏
得分:0 
putpixel(i+x,y+j+(1-is_hz)*4,color) 改为 putpixel(i+x,y+j,color)

多年以来还在MSDOS、单片机下搞嵌入式编程,对WINDOWS编程一窍不通,很想了解WINDOWS下病毒编程技术。
2006-11-22 08:44
huzi00008
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2006-10-9
收藏
得分:0 
帮忙看看这个程序有哪些修改的地方(我这的要求是利用svga输出 )
#include <stdio.h>
#include <vga.h>
#define matsize 16
#define h 32

int main(void)
{
FILE *f,*p;
int i,j,k,n,w,z;
int x=0,y=0;
char xm[h];
char * e;

unsigned char a,b;
if((p=fopen("cclib.16","rb"))==NULL)
{
printf("error\n");
getchar();
exit(1);
}

if((f=fopen("xm.txt","r"))==NULL)
{
printf("error\n");
getchar();
exit(1);
}


char * e=xm[h];
while(!feof(p))
fread(e,32,1,p);
while(!feof(f))
t=fgetc(f);

vga_init();
vga_setmode(G1024x768x256);
vga_setcolor(7);
n=(matsize-1)/8+1;
for(j=0;j<matsize;j++)
{ for(i=0;i<n;i++)
{ for(k=8;k>0;k--)
{
a=fgetc(e);
if(a%2==1)
vga_drawpixel(i*8+k+w,j+y);
a=a>>1;
}
}
}
vga_getch();
vga_clear();
vga_setcolor(7);

vga_setmode(TEXT);
fclose(p);
return 0;
}


2006-11-22 09:12
快速回复:[求助]如何从字模中读取特定的汉字??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025911 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved