评
语
Comment
|
程序功能实现,界面有趣.
掌握了汉字显示原理及图形模式操作方式.
进一步拓展可考虑复杂动画的实现.
教师签字 乌云高娃 日期 2003,9,20
|
成绩
Score
|
91
|
||||||
学时
Time
|
4
|
||||||||
姓 名
Name
|
赖顺钊
|
学号
Student No.
|
00661122
|
班级
Class
|
00(五)计算
机2班
|
组别
Group
|
|
||
项目编号
Item No.
|
1
|
项目名称
Item
|
图形与汉字的显示程序
|
||||||
课程名称
Course Name
|
C语言程序设计
|
教材
Textbook
|
谭浩强编著《C语言程序设计》
|
||||||
实训(实验)报告
1. 说明程序编制要点,以及自己在项目制作中的难点及解决办法
要点:利用C语言编写图形,并显示汉字。汉字为闪烁或滚动子幕。
难点与解决方法:首先规划好图形,然后通过基本图形函数将所构思好的图形显示出来,最困难的是画图形是的坐标难定位,必须通过多次实验才能做出理想图形。而图形较为突出的地方是眉毛会上下移动,是通过画一条眉毛的直线,然后用令一条与背景色相同的眉毛直线覆盖原来一条,这样眉毛就会消失,然后在另一坐标再画一条眉毛,如此类推实现眉毛的跳动。
汉字显示是读取16X16?阵模式,然后在图形方式下,读取字模的每一个字节的每一位即可按画点的方式在屏幕上显示出汉字。汉字闪烁是通过循环变量对汉字显示的颜色进行改变来实现。
而汉字的左右移动则是通过循环变量对汉字坐标改变,来使汉字移动,主要实现程序如下:for(k=-450;k<650;k++) //k为汉字列坐标的变量,通过循环,显示,擦除的步骤实现
{ 汉字移动。
DisHz16X16(k,200,20,4,"小心啊!别吓一跳!");//调用DisHz16X16函数,显示汉字内容
cleardevice(); //擦除刚刚显示的汉字内容。
}
2. 说明项目中所涉及的知识点及难点
所涉及到的知识点:(1)基本图形函数;(2)TC的作图技术;(3)汉字内码;(4)汉字在字库中的区、位码;(5)汉字库汉字识别与显示。
难点:在绘制图形时,都会遇到一个难点,就是坐标的定位,必须通过计算与实验才能完成理想的图形。而各个图形函数的调用发面比较难掌握。
在汉字显示方面,由于对这方面的知识较少理解。所以对程序的理解也较为困难。要显示一个汉字,首先要在字库文件中找到该汉字的字模,然后在图形方式下,读取字模的每一个字节的每一位即可按画点的方式在屏幕上显示出汉字。
3.体会与收获
在西文状态下显示中文状态时,16点阵汉字字模的存储格式;汉字内码;汉字在字库中的区、位码;汉字库汉字识别与显示这几方面的知识由于较少涉及,所以理解起来叫难,而在显示完汉字后,又要对汉字进行移动,这时要靠结合周围同学的经验才能完成。
在这一个程序编制过程中,令我对C语言的用途有了更深的理解,除了我们平时编制的计算程序外,C语言还可以编写出图形与及显示汉字,而当中的技术是我们没有想过的。所以汉字与图形显示的编写令我对C语言有了更深的认识。
4.附录源程序
hanzi.c carton.c
|