c语言字母如何增大,[原创]教你如何放大显示ASCII字符(文本模式)

[原创]教你如何放大显示ASCII字符(文本模式)

/* 以'#'符号来显示放大显示ASCII字符(以前的老资料,适用于DOS环境)

说明:0xF000FA6E这个地址是每个(ASCII)字符显示点阵的首地址,

每个字符大小为8*8,每个字符点阵占连续的8个字节,每一字节表示

一行,从上而下,从左而右.

本人 QQ:527274766

C语言群:31545052 和 31544991

参考以下代码:

*/

#include

#include

void ShowBigChar(int x,int y,char ch)

{ /* 单个字符放大 */

int i,j;

char far *position;

unsigned char test;

position=(char far *)0xF000FA6EL+ch*8;/* 获取ch对应的字符点阵的首地址*/

for(i=0;i<8;++i) /* 8行 */

{

gotoxy(x*8+1,y+i); /* 8*8点阵,所以每个字符占8列 */

test = 0x80; /* 对应2进制为1000,0000 */

for(j=0;j<8;++j) /* 8列 */

{

if(*position & test) putchar('#');/* 按位与,若不为0,即显示# */

else putchar(' ');/* 否则不显示 */

test>>=1; /* 左移一位,依次变成0100,0000 0010,0000 0001,0000 ... */

}

++position; /* 移到下一字节,既点阵的第2行*/

}

}

void ShowBigString(char str[])

{ /* 字符串放大 */

int i;

if(strlen(str)>30)

{ /* 因为屏幕大小为80*25,所以每行最多显示

80/8=10个字符,最多显示25/8=3行 */

printf("Too much word! ( <30 )");

return;

}

for(i=0;str[i]!='\0';++i) /* 逐个字符显示 */

ShowBigChar(i%10,i/10*8+1,str[i]); /* i/10*8换行*/

}

int main()

{

char s[] = "xql0501 QQ: 527274766";/* 要放大显示的字符串 */

clrscr(); /* 清屏 */

ShowBigString(s); /* 放大显示 */

getch();

return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值