论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
体系结构简介(具体展开描述在3.2):
※photo是调用所有窗体的单元,并且记录每个form窗体与其对应的unit单元名称;
※主窗体程序模块:负责主窗体form1的程序调用,存放了整个系统中主要的程序,以及对其他各个单元的调用程序。要打开form2和form3两个窗体需要先调用该模块的程序;
※效果参数程序模块:负责form2的程序调用,主要存放可通过Ttrackbar滑动工具条实现效果参数调节的程序代码;
※图像处理模块:存放几乎所有的图像算法程序,专门提供给其它单元随时调用;
※帮助模块负责form3窗体,显示帮助信息。
§3.2系统各个模块的设计思路及实现方法
(科教作文网http://zw.ΝsΕAc.com发布)
◆图像撤销及重做
建立一个过程procedure undouse;用于在每次执行新操作的时候都把当前图像保存到image2~image5中去,并调整image2~image5的图像。
调整如下(将前者的bitmap位图,assign分配给后者):
image1->image4,image1->image2,image5->image3,image5->image4,image1->image5.
然后在每个新操作执行完的时候都要执行一次这个过程,以保证及时能更新要撤销的图像。
撤销
继续调整image2~image5的关系:
image1->image4,image3->image1,image1->image5.
重做
调整image2->image1
◆图像的复制、粘贴、剪切、清除
剪切:先将当前位图复制,然后将其每点转换为白色。再将剪切的图像信息转jpg保存,方便粘贴的时候调用。
◆位图变换:90度旋转,图像垂直翻转,水平翻转。
90度旋转:调用过程procedure Rotatepicture(Bitmap: TBitmap);该过程主要以创建内存流和创建指针,并将其进行指针转移,数据转移后,逐列逐点存入数组中来实现图像的90度翻转。
◆图像的缩放
通过设置image1的属性image1.AutoSize:=false;image1.Stretch:=true;然后就可以通过同时调整image1的宽、高来实现图像的缩放。
◆界面切换
在form窗体中拖放多个TbsStoredSkin控件,分别载入指定目录下编辑好的界面文件skin.ini,然后改变bsSkinData1中的storeskin属性,使其指向特定的TbsStoredSkin,即可完成切换。
3.2.2 图像处理程序模块
全部靠效果参数程序模块和主窗体程序模块的调用实现效果。
◆图像的对比度、饱和度、亮度、RGB调节
对比度:为了达到理想的效果同时用了两个方法,一个方法用于控制变量值为正的时候(提高对比度),另一个方法控制变量值为负的时候(降低对比度)。
方法一:分别分析每个点的RGB值,大于128的就加上变量,小于的就减去变量(此时变量为正)。
方法二:变量的绝对值越大,图像就越接近RGB皆为127的灰色。如:针对某点的R值,取r=(R-127)*(变量 /255),然后再把r+R赋值给R,那么变量取值-255的时候,R=127。G和B也和R的