计算机图形学综合实验设计——用C语言实现画图板的功能【毕业论文设计】.doc

计算机图形学综合实验设计——用C语言实现画图板的功能【毕业论文设计】.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学综合实验设计 ——用C语言实现画图板的功能 学 院:信息管理学院 专 业:计算机科学与技术 姓 名:赵 某某 学号:***计算机图形学综合实验设计 ————画图板 Windows系统自带的画图板简单灵巧,为用户的小型图形开发工作带来了很多便利。本实验完全利用C语言开发了一个画图板,该画图板具有画图、调整图形大小与方位、保存与打开文件等基本图能。 一.设计目的 利用C语言完成了一个Windows应用程序的开发——画图板,该画图板能实现基本的图形操作功能。通过本次实验,应该了解怎么将像素写入文件、怎么从文件中读取像素;了解直线、矩形、圆和Bezier曲线等图形的绘制原理、旋转原理、移动院里和缩放原理等。 二.功能描述 本实验利用C语言编程实现的画图板,具有基本的画图功能、图形操作功能和文件保存打开功能等。 1)图形绘制功能 (1)绘制直线:能绘制任意角度的直线,能实现直线的旋转、伸长、缩短和上下左右移动。 (2)绘制矩形:能绘制任意大小(画布范围内)的矩形,能实现矩形的放大、缩小和上下左右移动。 (3)绘制圆形:能绘制任意半径大小(画布范围内)的圆形,能实现圆形的放大和缩小。 (4)绘制Bezier曲线:能根据屏幕上的点(单击鼠标后产生的点)绘制出Bezier曲线。 2)文件处理功能 (1)保存:能保存画布中的所有图形到指定的文件。 (2)加载:能打开指定的文件,将其内容加载到画布中。 3)用户帮助功能 显示用户使用指南,包括各种图形的绘制方法和操作方法等。 总体设计 系统模块图 本系统包括4个模块,分别是图形绘制模块、鼠标控制模块、功能控制模块和保存加载模块. (1)图形绘制模块。该模块包括图形的绘制和操作功能,主要有绘制直线、移动直线、缩放和旋转直线;绘制矩形、移动和缩放矩形;绘制和缩放圆形;绘制Bezier曲线。 (2)鼠标控制模块。该模块主要实现鼠标状态的获取、鼠标位置的设置,以及鼠标的绘制等。 (3)功能控制模块。该模块实现的功能包括输出中文、填充像素和显示用户帮助。 (4)保存加载模块。该模块将像素保存到指定文件和从指定文件中读取像素到画布。 2.数据结构设计int Rx,Ry,R:分别表示所画圆形的圆心的横坐标、纵坐标,以及圆的半径。 int TOPx,TOPy,BOTTOMx,BOTTOMy:分别表示所画矩形的左上角的横坐标、纵坐标,以及右下角的横坐标、纵坐标。 int Centx,Centy:表示直线或者矩形旋转中心点的横坐标和纵坐标。 int lineStartx,lineStarty,lineEndx,lineEndy:分别表示直线的起点横坐标、纵坐标,以及终点的横坐标、纵坐标。 int linePoint_x[20],linePoint_y[20]:这两个数组用于在画Bezier曲线时存储所选点的横坐标和纵坐标。 函数功能描述 1) outChinese() 函数原型: void outChinese(char*mat,int x,int y,int color) 本程序中虽然有中文显示,但是显示的中文不多,所以就没有加载中文字库,而是生成字模信息来建立一个小型字库,以此来减轻程序“负担” 。 outChinese()函数根据点阵信息显示中文,其中mat 为字模指针,matisize 为点阵大小,x和y表示起始坐标,color表示显示的颜色。 2) fill() 函数原型: void fill(int startx,int starty,int endy, int color) Fill()函数用于以指定的颜色填充指定的区域。其中 startx、starty 表示填充区域的左上角横、纵坐标,endx、endy表示填充区域的右下角的横、纵坐标,color 表示填充的颜色。该函数调用系统画图函数putpixel()来实现。 3) showHelp() 函数原型:void showHelp() showHelp()函数用于显示用户使用指南。用户使用指南包括各种图行的绘制方法和调整方法等。 4) save() 函数原型:void save() Save()函数用于保存画布中的图形。用户首先输入保存文件的文件名,然后将画布中的像素写入文件,保存文件是以“.dat”结尾的。保存完毕将提示用户。 5) 函数原型: void load() load()函数用于打开已有的图形。用户首先输入打开文件的文件名,然后将文件中的像素输入到画布中。打开完毕将提示用户。如果打开过程中出

文档评论(0)

蜗牛 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档