我正在研究一些位图字体。这里的想法是给我两个文件(input.txt 和 font.txt)。我必须从 input.txt 中读取一个字符串并使用 font.txt 的内容对其进行转换,然后将相应的输出打印到另一个名为 output.txt 的文件中。font.txt 中的每个字符由 16x8 的网格表示。
我只是实现了一个简单的 [rogram 来将单个字符 A 转换为位图,如下所示。有人可以帮我减少代码。
谢谢你。
int main()
{
unsigned int arr[]=
{
0x00,0x00,0x10,0x38,
0x6c,0xc6,0xc6,0xfe,
0xc6,0xc6,0xc6,0xc6,
0x00,0x00,0x00,0x00
};
int i,k,j;
int bin[8];
int c=7;
for(i=0;i<16;++i)
{
bin[0]=arr[i]>>7;
bin[1]=(arr[i]>>6)&1;
bin[2]=(arr[i]>>5)&1;
bin[3]=(arr[i]>>4)&1;
bin[4]=(arr[i]>>3)&1;
bin[5]=(arr[i]>>2)&1;
bin[6]=(arr[i]>>1)&1;
bin[7]=arr[i]&1;
k=0;
for(j=0;j<4;j++){
if(bin[k]==0 && bin[k+1]==0)
{
printf("..");
}
else if(bin[k]==0 && bin[k+1]==0)
{
printf(".C");
}
else if(bin[k]==0 && bin[k+1]==0)
{
printf("C.");
}
else
{
printf("AA");
}
k=k+2;
}
printf("\n");
}
}
输出:
........
........
..AA....
..AAAA..
AAAAAA..
AA..AAAA
AA..AAAA
AAAAAAAA
AA..AAAA
AA..AAAA
AA..AAAA
AA..AAAA
........
........
........
........