- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形图像处理系统
姓名: 裴文斌 学号: 2010237166
班级: 软件 1021
2012/11/5
2
2
目录
系统需求分析 3
系统的总体设计 3
系统的详细设计 4
各模块功能的描述及主要源代码 6
系统运行结果 11
3
3
系统需求分析
随着社会的的发展,计算机与人们的生活也越来越密切,计算机的图片处理也成了一件比较普遍的事情,各种计算机图形图像处理系统便产生了;本次开发简单的计算机图形图像处理系统功能简单,使用方便。
主要实现功能需要:
功能主要分为三个模块:
的粗,让画笔变粗的同时我们可以使用按钮是的画笔变细;在画图的同时我画图模块能实现自定义画图(直线、曲线、圆、矩形)
的粗,让画笔变粗的同时我们可以使用
按钮是的画笔变细;在画图的同时我
们还有橡皮擦功能来擦出画图时你认为画得不好的部分,各种基本的集合图像配合你画图的需要;另外我的设计中还为画图模块添加了新建画板的功能和保存画图的功能;为你保存的画图都将以.bmp 格式图片保存。
图片的处理模块能进行简单的对.bmp 图片处理,图片涂鸦、图片曝光、图片反色、图片还原等基本的图片处理功能;在本的系统中没用专门的涂鸦选项,可是在加载图片完成后就可以对图片进行涂鸦功能并为修改后的图片提供了保存功能。
自定义画笔颜色模块能对画笔的颜色进行随意的改变。
系统的总体设计
本次要使用 delphi 语言进行开发简单的计算机图形图像处理系统功能简单,在 Windows 系统下运行,系统的层次模块图为:
打开系统
打开系统
画图
打开图片
改变画笔
颜色
涂鸦
任意画
图
画
线
直
画圆
画
形
矩
图 片 曝
光
图片反
色
保存
退出系统
PAGE 10
PAGE 10
系统的详细设计
系统的外观设计如下图所示:
详细的功能可以由以下的模块功能流程图来表示
画图可选画笔颜色任意画图
画图
可选画笔
颜色
任意画图
画直线
画圆
画矩形
新建
是
否
保存
退出系统
【2】图片处理模块功能流程
打开图片
打开图片
涂鸦
图片曝光
图片反色
是
图片还原
否
保存
退出系统
各模块的功能描述及功能代码
【1】画图模块:
//实现画图功能
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
if (ssleft in shift) then
//self.Image1.Canvas.Pen.Color:=clWindowText;
//self.Image1.Canvas.Pen.Width:=10; begin
if(i<>1)and(i<>2)and(i<>3)and(i<>4)and(i<>5)then begin
self.Image1.Canvas.MoveTo(x1,y1); self.Image1.Canvas.LineTo(x,y); end;
if (ssleft in shift) then begin
if(i=1) then //随便画线
begin self.Image1.Canvas.Pen.Color:=ColorGrid1.ForegroundColor; self.Image1.Canvas.MoveTo(x1,y1); self.Image1.Canvas.LineTo(x,y);
x1:=x;
y1:=y; end ;
if(i=2) then //画直线begin
self.Image1.Canvas.Pen.Color:=ColorGrid1.ForegroundColor; self.Image1.Canvas.Pen.Mode:=Pmnotxor; self.Image1.Canvas.MoveTo(x2,y2); self.Image1.Canvas.LineTo(x1,y1); self.Image1.Canvas.Pen.Mode:=pmcopy; self.Image1.Canvas.MoveTo(x2,y2); self.Image1.Canvas.LineTo(x,y);
end;
if(i=3) then //画圆begin
self.Image1.Canvas.Pen.Color:=ColorGrid1.ForegroundColor;
self.Image1.Canvas.Pen.Mode:=pmnotxor; self.Image1.Canvas.Ellipse(x2,y2,x1,y1); self.Image1.Canvas.Pen.Mode:=pmcopy; self.Image1.Canvas.Ellipse(x2,y2,x,y);
end;
if(i=
文档评论(0)