问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

懂C语言的帮忙看看这个汉字显示代码的错误在哪,谢了

发布网友 发布时间:2022-05-16 19:23

我来回答

1个回答

热心网友 时间:2024-02-29 18:51

这个是你没有理解字模和函数的意思。

void drawmat(char *mat,int matsize,int x,int y,int color)这个函数要和char zi24[]={  /* 以下是 '字' 的 24点阵隶书 字模72byte*/

搭配着用。

也就是说,你要用字模转换工具把汉字转化成 char **88[]。然后在把这个放在函数里。

你看你的

drawmat(yi12,12,100,125,WHITE); 

yi12是没有定义的。

而你看示例程序

char zi24[]={                                        /* 以下是 '字' 的 24点阵隶书 字模72byte*/

char mo24[]={                                         /* 以下是 '模' 的 24点阵楷体_GB2312 字模

定义了“字”“模”两个字。

所以函数drawmat(zi24,24,100,125,white)就是正确的。

-----------------------------------------------------------------

这样说可能你不是很明白,你可以参考一段我写的程序,下面是链接:

http://blog.csdn.net/gracefulphoenix/archive/2010/08/08/5796295.aspx

-------------------------------------------------------------------

另外字模转换工具在win-tc下就有。如图。

在超级工具集里面。

如果还有问题,可以在我的博客下留言。本人非大牛,但是可以一起讨论。 

----------------------------------------------------------------------

如果你还不明白的,可以看一下这个程序,然后对比一下你的程序。就知道了。

*************************************************************

#include "Conio.h"

#include "graphics.h"

#define closegr closegraph

void initgr(void) /* BGI初始化 */

{

  int gd = DETECT, gm = 0; /* 和gd=VGA,gm=VGAHI是同样效果 */

  registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */

  initgraph(&gd, &gm, "");

}

void drawmat(char *mat,int matsize,int x,int y,int color)

/*依次:字模指针、点阵大小、起始坐标(x,y)、颜色*/

{

  int i, j, k, n;

  n = (matsize - 1) / 8 + 1;

  for(j = 0; j < matsize; j++)

    for(i = 0; i < n; i++)

      for(k = 0;k < 8; k++)

        if(mat[j * n + i] & (0x80 >> k))  /*测试为1的位则显示*/

          putpixel(x + i * 8 + k, y + j, color);

}

char yang12S[]={

/* 以下是 '阳' 的 12点阵宋体 字模,24 byte */

  0xF7,0xC0,0x94,0x40,0x94,0x40,0xA4,0x40,

  0xA7,0xC0,0x94,0x40,0x94,0x40,0xF4,0x40,

  0x84,0x40,0x87,0xC0,0x84,0x40,0x00,0x00,

};

char guang12S[]={

/* 以下是 '光' 的 12点阵宋体 字模,24 byte */

  0x04,0x00,0x44,0x40,0x24,0x80,0x15,0x00,

  0xFF,0xE0,0x12,0x00,0x12,0x00,0x12,0x00,

  0x12,0x20,0x22,0x20,0xC1,0xE0,0x00,0x00,

};

int main(void)

{

  int i, j;

  initgr(); /* BGI初始化 */

  setcolor(10);

  /*我定义的是"阳光"两个字,所以,要在主函数前,把阳光这两个字的字模计算出来。在上面,看到了吗。*/

  drawmat(yang12S,12,100,100,10);/*就是“阳”*/

  drawmat(guang12S,12,200,200,10);/*就是"光"*/

  getch(); /* 暂停一下,看看前面绘图代码的运行结果 */

  closegr(); /* 恢复TEXT屏幕模式 */

  return 0;

}

*****************************************************************

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
冠状病毒酒精消毒怎么使用 袁咏仪主演的真爱之百万新娘哪个网站可以看 ...方便的话告诉我结局怎么样。陈玉是不是死了 冉冉东升可以组什么句子 求我姓冉的专属句子 弹弹堂高手之路全部过完给多少强化石 百度弹弹堂2里面的《高手之路高级高抛打法(高级)》《高手之路高级高差训 ... 弹弹堂工厂3怎么打 弹弹堂高手之路的任务怎么触发的 腹肌练习计划 就评职称了,护士执业证书丢失怎么办? 怎么写 一写就评 在计算机中要存放两千个汉字,使用24×24点阵汉字字模,需要多少字节?(过程和步骤) 要什么就评什么 缺什么就评什么 评什么就有什么 这句话的含义 在24×24点阵字库中,每个汉字的字模信息存储在多少个字节中? 写一写 一写就评 电脑字节题目? 就评身份可以到香港吗 存储一个24×24点的汉字型码需多少字节 储存一个24*24点汉字字形需要的字节数? 存储一个24×24点阵的汉字字形所需的存储容量是()字节。 答案是72字节,能告诉我为什么吗? 72千兆字节多少G 在24×24点阵字库中,每个汉字的字形码所占字节是多少?他是怎么算的啊 12×12、16×16、24×24、48×48点阵汉字在内存中各占多少字节? 24*24汉字点阵字库中,表示一汉字字型为什么需要72个字节?这是怎么算出来的啊?谢谢~~ 5个谐音歇后语? 30个谐音歇后语 多核CPU怎么均衡每个核的使用率 CPU的主频率越高是不是处理速度就越快啊 CPU的钟摆规律是什么? 公安机关就评当事人一份轻伤鉴定就可以刑拘嫌疑人吗 24*24点阵型汉字,存储时占用多少字节 怎么写呀 一写就评 在24×24的点阵字库中存储一个汉字的字形信息需要多少字节 为什么 在24×24点阵的汉字字库中,存储每个汉字字形码所需的字节怎么求? 酒厂就评公证处能法院诉讼成功吗? 对于一个24*24的汉字点阵来说,一个汉字所占存储量为几个字节? PS:什么是点阵?这道题要怎么算? 怎么写 一说就评 小写字母a和大写字母C的十六进制ASII码值相差多少H存储一个24×24点阵的汉字字形需要多少字节? 你们会当面就评价么?会怎么说? 淘宝实物拍下可以当天就评价吗? 蝉这首诗写了蝉的哪些特点? 职称政策性通过就评得了 谁说的马,鸡,猴,成语多就评 我很清醒我没必要对没必要的人做没必要的事受没必要的伤 我就评 一写就评 win7怎么把系统保护关了。 我关了重启以后保护又开了。 我的世界服务端怎么安装forge 紫光笔的作用 成都紫光影视文化传媒有限公司怎么样?