pwf313315163
(一)选题毕业论文(设计)题目应符合本专业的培养目标和教学要求,具有综合性和创新性。本科生要根据自己的实际情况和专业特长,选择适当的论文题目,但所写论文要与本专业所学课程有关。(二)查阅资料、列出论文提纲题目选定后,要在指导教师指导下开展调研和进行实验,搜集、查阅有关资料,进行加工、提炼,然后列出详细的写作提纲。(三)完成初稿根据所列提纲,按指导教师的意见认真完成初稿。(四)定稿初稿须经指导教师审阅,并按其意见和要求进行修改,然后定稿。一般毕业论文题目的选择最好不要太泛,越具体越好,而且老师希望学生能结合自己学过的知识对问题进行分析和解决。不知道你是否确定了选题,确定选题了接下来你需要根据选题去查阅前辈们的相关论文,看看人家是怎么规划论文整体框架的;其次就是需要自己动手收集资料了,进而整理和分析资料得出自己的论文框架;最后就是按照框架去组织论文了。你如果需要什么参考资料和范文我可以提供给你。还有什么不了解的可以直接问我,希望可以帮到你,祝写作过程顺利毕业论文选题的方法:一、尽快确定毕业论文的选题方向 在毕业论文工作布置后,每个人都应遵循选题的基本原则,在较短的时间内把选题的方向确定下来。从毕业论文题目的性质来看,基本上可以分为两大类:一类是社会主义现代化建设实践中提出的理论和实际问题;另一类是专业学科本身发展中存在的基本范畴和基本理论问题。大学生应根据自己的志趣和爱好,尽快从上述两大类中确定一个方向。二、在初步调查研究的基础上选定毕业论文的具体题目在选题的方向确定以后,还要经过一定的调查和研究,来进一步确定选题的范围,以至最后选定具体题目。下面介绍两种常见的选题方法。 浏览捕捉法 :这种方法就是通过对占有的文献资料快速地、大量地阅读,在比较中来确定论文题目地方法。浏览,一般是在资料占有达到一定数量时集中一段时间进行,这样便于对资料作集中的比较和鉴别。浏览的目的是在咀嚼消化已有资料的过程中,提出问题,寻找自己的研究课题。这就需要对收集到的材料作一全面的阅读研究,主要的、次要的、不同角度的、不同观点的都应了解,不能看了一些资料,有了一点看法,就到此为止,急于动笔。也不能“先入为主”,以自己头脑中原有的观点或看了第一篇资料后得到的看法去决定取舍。而应冷静地、客观地对所有资料作认真的分析思考。在浩如烟海,内容丰富的资料中吸取营养,反复思考琢磨许多时候之后,必然会有所发现,这是搞科学研究的人时常会碰到的情形。 浏览捕捉法一般可按以下步骤进行:第一步,广泛地浏览资料。在浏览中要注意勤作笔录,随时记下资料的纲目,记下资料中对自己影响最深刻的观点、论据、论证方法等,记下脑海中涌现的点滴体会。当然,手抄笔录并不等于有言必录,有文必录,而是要做细心的选择,有目的、有重点地摘录,当详则详,当略则略,一些相同的或类似的观点和材料则不必重复摘录,只需记下资料来源及页码就行,以避免浪费时间和精力。第二步,是将阅读所得到的方方面面的内容,进行分类、排列、组合,从中寻找问题、发现问题,材料可按纲目分类,如分成: 系统介绍有关问题研究发展概况的资料; 对某一个问题研究情况的资料; 对同一问题几种不同观点的资料; 对某一问题研究最新的资料和成果等等。第三步,将自己在研究中的体会与资料分别加以比较,找出哪些体会在资料中没有或部分没有;哪些体会虽然资料已有,但自己对此有不同看法;哪些体会和资料是基本一致的;哪些体会是在资料基础上的深化和发挥等等。经过几番深思熟虑的思考过程,就容易萌生自己的想法。把这种想法及时捕捉住,再作进一步的思考,选题的目标也就会渐渐明确起来。 希望可以帮到你,有什么不懂的可以问我 
随着遥感技术的发展,传感器波段分辨率和地面分辨力的提高,遥感数据量也在急剧增加。就第一代的MSS图像来说,其象元值为79m×79m,一个波段就记录了760万个象元(素),一景MSS图像(185km×185km)4个波段就达3000万个数据;而第二代的TM图像与第一代相比,波段数由4个增至7个,地面分辨力从79m×79m提高到30m×30m,则一景相同面积的TM图像就超过3亿1700万个数据。因此,一景遥感图像对应于一个地区来说就是一个浩繁的、包罗万象的数据库。而人们要从如此浩繁的数据库中提取以石油地质为目的的有用信息就有赖于不同方法的计算机图像处理技术。对于遥感信息数据的石油地质应用来说,其本身就是一件十分复杂的问题。因为它不仅受控于不同的地质、地理环境,而且中国当前的石油勘探又主要集中于广大的第四系覆盖区,因此如何提取覆盖层之下的深部地质信息就成了遥感在石油勘探应用中的突出问题之一。经过不同地区多年的探索和实践,笔者目前已总结出一种能获得地下地质结构及构造信息的组合图像及其方法。一、组合处理方法概述遥感图像的组合处理方法,最初是曹宇在新疆准噶尔盆地西部遥感地质应用研究过程中总结出来的,后来经过中国东部有关油田(辽河、江苏、河南)的应用实践得到不断的补充和完善,并形成了针对不同目的而设计的多种组合处理流程。组合处理方法的基本思路,是针对传感器所接收的,主要为地表和近地表的电磁波信息,而地下深部信息较为微弱这一特点。利用特殊的数字处理功能其目的在于,压制地表信息,最大限度地突出地下地质信息,从而获得能反映地下地质结构和构造的新图像。有关处理流程简述如下。(一)线性扩展—直方图调整—局部增强—彩色级上色处理功能组合线性扩展(PLIM)通过图像直方图的线性拉伸,将原始图像的亮度扩展至肉眼分辨最清楚的范围并符合感光材料的线性分布区间,从而使色调单一的图像变得层次分明。线性扩展公式:叶和飞油气地质遥感论文集其中:Xa、Xb——扩展前图像直方图的最小值、最大值;Ya、Yb——扩展后图像直方图的最小值、最大值;X——扩展前象元值;Y——扩展后的象元值。该功能可将图像的象元值按要求进行变换,并可提供最多为256个断点对的分段线性变换,而两断点之间的变换以内插方式进行。经过扩展后的图像,其信息得到了大大增强。但由于图像波段的相关性较大,使一些地区图像的色调显得十分单一。这样,就有必要对扩展后的图像作进一步的调整,以便使图像的色彩饱满、丰富,这取决于下一个处理功能。直方图调整(ADJUST)该功能用平移和扩展(或压缩)图像直方图的方法,对一幅图像进行线性变换,使所得新图像的象素亮度值具有用户所确定的平均值和标准偏差。适当选择输入统计量(从整个图像或事先确定的着色区中确定),能保持扩展后图像的方差,而调整其各波段的均值,促使图像各波段间直方图的峰值错开,使图像变得色彩鲜艳。局部增强(LOCAL ENHANCE)将图像分成若干足够小的局部,分别统计其方差(S)和均值(M),然后以各自的均值为背景,调整灰度级范围,使新的灰度值服从正态分布。变换公式如下:叶和飞油气地质遥感论文集其中:X——原图像象元值;Y——经增强后图像的象元值;S、M——原图像以X为中心点的窗口内的方差、均值;S′、M′——用户所期待的方差、均值。局部增强后的图像,其直方图充满了0~255个灰度级范围,从而丰富了图像的色彩,平滑了其方差,使图像中的微弱信息,尤其是隐伏地质信息得到了有力的增强。而相反,对地表原先较强的信息进行了压制。彩色级上色(PSEUDO)根据肉眼对彩色分辨能力较灵敏的特点,该功能将图像的直方图分布分成若干个等级,由计算机自动按给定图像的色调、亮度和对比度进行上色。通过该功能的变换,可增强图像的相关信息,当图像象元间相关程度高时,其彩色也表现出近于一致的颜色,从而达到突出图像中隐伏地质信息的目的。除了上述的功能组合外,还有许多针对不同目的而采取的功能组合。则为:(二)线性地质构造组合处理A反差增强—矩阵变换—跟踪球变换;B反差增强—模板卷积。(三)岩体相带组合处理A反差增强—矩阵变换—跟踪球变换;B反差增强—直方图调整—局部增强—彩色级上色。(四)增强图像信息,色彩的组合处理线性扩展—直方图调整—局部统计增强。这些方法与前述的“线性扩展—直方图调整—局部增强—彩色级上色”功能组合大同小异,在此不一一叙述。二、组合功能图像处理对遥感数据资料的选择经验表明,就目前的I2S—101系统而言,对MSS、TM及SPOT三种常用的图像数据,采用同样的功能组合进行处理,其结果存在明显差别。前者较为理想,地面信息,如植被、水系等大部分被压制而生成一种连续的和较为清晰的地下结构的新图像(图版Ⅵ-2、Ⅹ-2);而后两者不甚理想,其地面信息的部分或大部分没有被压制,其生成的图像依然以地面特征为主(图版Ⅳ-1)。分析推测这种现象与三种图像数据的密度和地面分辨力(SPOT;20m×20m>TM;30m×30m>MSS;79m×79m)高低有关,而与图像波段之间的组合没有明显的关系。换言之,单位面积中的信息量愈多,分辨力愈高,则被包含的地下信息就愈不易剥离而被提取出来,故而仍保留较多的地面信息,SPOT、TM属之,而MSS是三者中单位面积中数据量较少、分辨力较低的一种,恰好适合设计中的多功能组合处理方法,而生成理想的能反映地下结构信息的图像。当然不是说数据量愈少分辨力愈低、就愈适合这种功能组合处理方法,如分辨力1000m×1000m的NOAA卫星资料就无法用多功能组合方法处理而获得上述图像。因此,本文所论述的组合功能处理方法,只选择MSS图像数据资料,还与I2S—101图像处理系统及组合处理方法所要求的阈值有关。三、MSS组合图像的特点通常的MSS标准假彩色图像,是指由7、5、4波段与红、绿、蓝计算机合成图像。这种图像,不仅包括了可见光波段的信息,而且也包含了部分近红波段的信息。它不仅能提供宏观地质结构的资料,同时也能提供反映局部性的地质信息,是综合解译、分析不可缺少的基本资料。前面已指出这类图像的特点,是以反映地表地质信息为主的形象资料。这类图像是按不同波段赋予不同颜色而合成处理的,图像上的某一种颜色只代表某一区间电磁波谱相似的地物,并不代表这种地物本身的真正颜色,因此称其为假彩色图像(图版Ⅸ、Ⅹ)。在使用MSS假彩色图像进行解译的过程中,由于人们的工作经验不同,对地质问题的认识不一,不同的人会得到不同的结论。同时,一般的遥感图像尽管也包含地下深部的各种微弱地质信息,因其肉眼难以辨识而被解译人员所忽略。因此,寻求一种能有效提取地下地质信息的新图像,就成为解决许多地质问题的关键。组合处理图像,是在标准假彩色图像的基础上,以类似于物探资料处理中的“深度滤波”法对反映较为微弱的那部分地下地质信息,采用前述的“线性扩展—直方图调整—局部增强—彩色级上色”的组合处理功能进行大幅度的增强,而对原先反映较强的地表信息进行压制,以达到突出地下深部地质信息的目的。对比分析表明,经过组合处理的图像和标准假彩色图像具有很大差别,除能克服上述的不足之外,在组合处理图像上,原先反映清楚的河流、农田和植被等地表信息绝大部分被压制而代之出现了原先隐含在地表信息中的深部信息,并以不同“色级”构成的色带、色环及色块(见图版Ⅲ-2、Ⅹ-2)。这些色环、色块的色调各异,对比明显,解译精度大有提高。经与地震、重、磁力等资料进行对比分析,发现它们之间对地下地质结构和构造的反映有着密切的对应关系。四、MSS组合处理的影响因素分析十来年的实践证明,组合处理图像对解决地质问题十分有效,然而,影响图像处理及应用效果的因素也很多。诸如不同地区的地貌条件、地质条件和图像处理水平等。(一)地貌条件的影响上文已指出露头区的组合图像处理效果较差。究其原因在于露头区岩石裸露于地表,造成地表电磁波的强反射和强辐射,因而完全压制了地下深部的微弱信息,除非地下的构造形迹具有明显的继承性,否则就很难通过固结的岩层而表现出来。而在覆盖区,各种地物的反射率相对较低,地表信息相对较弱,地下信息也就显得较强了。而且地下信息能以一定方式反映在地表的水系、植被和地貌等方面的微小变化上,因此,组合处理图像上的地下信息就可得到更为有效的增强。(二)地质条件的影响影响组合图像处理及应用效果的地质条件很多,亦较复杂。一个地区的沉积史、构造发育史,以及由此而决定的地质结构和构造,等等。一般地说,构造越复杂,埋深越大,地下信息的传递就越困难。当然,地下的地质结构和构造,可在一定程度上影响其上覆层的沉积、成岩和构造演化,或以继承性的和信息迭加的方式逐步反映到地表。覆盖区的遥感地质解译,在很大程度上就是基于“继承性”这一前提条件而逐步深入的,至少目前如此。辽河盆地处于冀鲁断块上,其褶皱基底为上元古界,郯庐断裂带以西有较厚的中、上元古界分布,其他地区在早古生代大部分处于隆起状态,只有部分上古生界(C、P)零星分布于锦西、朝阳一带,第三系几乎直接覆盖在褶皱基底之上。因此,该地区的古生代和中生代沉积间断时间较长,其相互接触(不整合面上、下)的地层在形成时代上的差距较大,地质结构和构造也相对简单,组合图像的显示效果较为理想。其图像中的环、块状影像和地下地质构造(隆起、凸起、坳陷、凹陷、断块等)吻合程度很高。而在塔里木盆地塔北地区,由于地质结构十分复杂,既有前寒武纪的变质基底,又有海西期的褶皱基底。而且经历了中条—晋宁、柯坪—加里东、海西、印支—燕山和喜马拉雅等多个构造旋回,因此,遥感地质解译,尤其与含油层系有关的深部地质构造的解译效果就不如辽河地区那样明显。然而,经研究发现,该区虽受多期构造运动的影响,但许多地质结构仍具有继承性的特点,而且这种特点还与地表微地貌有着密切的关系。值得重视的是,该区的已知油气田无一例外地与微正向地貌相关,即表现为遥感图像(组合图、TM标准图像)上的浅色异常。据此解译的东河塘、吉拉克等构造与初步探明的含油气区基本吻合(图1)。其他油气预测区(如雀羚斯得构造等)正待进一步钻探证实。图1 塔北地区MSS(156~32)地质解译图(三)处理过程中人为因素的影响由于在I2S—101系统上进行组合处理的过程中,某些步骤如彩色级上色(PSEUDO),是使用跟踪球进行变换的,因此各人在掌握彩色标准的尺度上存在一定的差异,这就不能不影响图像的处理结果,这也是使用MSS组合图进行地质解译所产生的影响因素。跟踪球对处理效果的影响,首先表现在相邻图像上同一地物的不同颜色。其次还表现在色级构成图案的衔接上。上述问题只要处理、解译人员经过一段时间的磨合、探索是不难解决的。五、MSS组合图像应用分析MSS组合图像主要用于第四系覆盖区的地质解译及分析。从目前回顾的情况来看,其应用效果较为理想。因为无论是南阳油田、中原(东濮)油田、苏北油田或辽河油田,根据当时利用MSS组合图像解译结果所作含油有利区的预测,经过后来的勘探不少地区得到了验证,获得工业油流。如中原油田遥感预测区南部的三春集、瓜营两构造于1990年钻获工业流油,并上报探明储量达1000多万吨,成为该油田当年主要增加储量的地区。另外根据MSS组合图解译的一些潜伏构造也陆续被物探所证实。下面就有关油田的遥感应用结果作一扼要回顾。(一)辽河油田辽河盆地及其外围,1989年经组合处理图像的地质解译,发现了许多与油气信息有关的环形影像,经后来的钻探证实,在原遥感预测区发现了工业油气流。如①荣兴水库以西的 17、 18环形构造(见62页图1):为环形或长圆形浅色影像异常,整体走向近南北,为一滩涂中的相对高地。该地区为受水网干扰的热异常区,影像具渲晕状,与已知油田的图像有较为相似的特点。分析认为该环形影像为有利的含油气区(67页图3)。1991年在该预测区内钻探获得工业油气流,进一步的勘探还发现了海外河构造并控制了海外河油田。此外,在该构造东北的大洼环形影像( 15)以及荣兴水库南的环形影像( 22)亦先后发现工业油气流。(二)塔里木盆地塔北地区MSS组合处理片(156~32)的地质解译,获得了许多MSS标准片上未能识别的影像特征(见图版Ⅹ-2)。如哈达墩南面的RR123、RR124、RR125、RR126(图1)等,在标准片上表现为一大片较均匀的黄色沙地,而在组合图像上,则表现为黄色调背景上具绿色、蓝色斑块,或绿色调背景中的黄色色斑,色调异常明显,分别与重力高和重力低间互带相吻合。又如大河沿东北面的RR82、RR90,在MSS标准片上表现为较周围色调稍暗的黄绿色调,沙丘形态与其周缘也有些差别,但特征不太明显,而在MSS组合处理图像上,表现为以蓝色斑块为主,内杂黄色色斑的醒目不规则影像异常,与重、磁力异常高相对应,地震解释为一地下火成岩体。以MSS组合处理图像为底图,我们对塔北地区进行了重点解译。解译结果表明,许多已知油气田都与图像上的环块状影像特征相对应。如东河塘构造,为一石炭系砂岩油藏,在图像上表现为亮黄色、白色的浅色异常,外观呈树枝状,被水系切割,北缘为线性构造所限制,走向北西(R47)。轮台东南的R59影像异常,为醒目的白色调,水系绕流,呈较规则的椭圆形,经钻探,于轮南59井发现工业油气流,为石炭系隆起构造,现已建成吉拉克油田。此外,R43、R50与二八台—轮台潜山构造带相吻合,R44大体相当于雅克拉潜山带,R49为著名的168号构造。所有这些环形、块状影像,在组合图像上无一例外地表现为浅色(浅黄、黄和白色)色调,与周围的背景色调差异明显。根据以上已知的油气田与环块状影像的关系,我们对R55(即雀羚斯得环形影像)进行了类比分析,认为它是塔北地区近期油气勘探的重要靶区。其理由:①地表的微正向地貌与遥感图像上浅色环形影像特征相对应;②塔北地区已知油田与遥感的浅色环形影像特征有明显的相关性,与化探吸附烃(C1—C4)、紫外荧光的顶盖效应,汞与氡的边缘效应及热红外图像的负异常特征吻合;③与地震圈定的地下构造圈闭吻合较好。与吉拉克构造相比,它们都处在北东向的断裂构造带上,都为石炭系隆起,为水系绕流的微正向地貌,在影像上均表现为巨型浅色环状体,均处于北部坳陷的北斜坡上,且雀羚斯得构造更近生油坳陷,且与塔北其他已知油田在遥感影像上有许多相似之处,因此是极有希望的含油远景区。但目前仍待钻探。大量事实证明,在覆盖区内选用有效的组合处理图像,不仅可以提高遥感信息的地质解译效果,而且还能通过相似地质背景中已知油田遥感信息特征的类比分析直接预测油田。如果将上述预测方法以量化的形式固定下来,那对今后的油气勘探将有着更为深远的意义。
目录 一.引言……………………………………………………………………2 二.设计方法和创意 ………………………………………………………2 三.实例制作 …………………………………………………………………3 小结 …………………………………………………………………………8 参考文献 ………………………………………………8 一.引言 近年来,计算机图像技术的飞速发展和应用使个人电脑上的美术创作进入一个新的阶段,各种图像处理软件也越来越完善,普及程度不断的提高。其中的图像软件处理工具Photoshop是目前公认的、较好的通用平面美术设计软件,它功能完善,性能稳定,使用方便。Photoshop所具有的功能包括:可以对图像进行修饰、对图形进行编辑、对图像的色彩进行处理等,此外,还有绘图和输出功能。在实际生活和工作中,人们可以将数码照相机拍摄下来的照片利用Photoshop进行编辑和修饰,还可以利用PhotoShop为图像制作特效效果,如果和其它工具软件配合使用,则可以进行高质量的广告设计、美术创意和三维动画制作。由于PhotoShop功能强大,目前,正在被越来越多的图像编排、广告和形象设计以及婚纱影楼等领域广泛使用,是一个非常受欢迎的应用软件。本毕业论文中的设计实例就采用了Photoshop这一图像处理软件。 二.设计方法和创意 利用图像处理软件制作图形,要产生一个好的作品包括三个方面的内容:创意、构图能力、计算机表达。即首先要有好的创意,然后对其进行粗略构图,最后借助计算机手段,制作出所构想的最终效果图。当然,也有一些经典的创意,只用寥寥数笔即可表现,但这种情况非常少。上述所说的三个方面的内容,其中的创意需要具备跳跃思维,灵活善变,也与创作者的美术素养相关;而构图则主要指平面构成,色彩构成和立体构成。对于平面设计来说,平面构成和色彩构成尤为重要,它需要通过合理组织各种元素,确定视觉中心,使画面美观并能引导读者的目光和兴趣;计算机表达则是利用有关的图像处理软件工具,将构思的图像效果制作出来。本毕业论文的实例制作,就是利用Photoshop来制作水滴的效果图,设计思想是利用已有的素材,制作出将一个杯子的水倒入另一个杯子后产生水滴的效果。 三.实例制作 本实例制作通过制作相关素材,并运用了Photoshop中的笔刷、扭曲/波浪滤镜、自由变形等工具,最终合成所制作的素材以得到所构思的效果图。具体制作步骤如下: 1.新建一个100x100像素图像文件,背景为蓝色; 2.新建透明图层2,建立该图层的目的是因为本设计的主要操作是在图层2中进行的; 3.利用工具面板中的椭圆选框工具在图层2中选出一个圆形区域。 4.选取工具面板画笔工具(画笔颜色选白色,画笔大小13,不透明度100%)在选区的四周绘制线条。 5.再将画笔的不透明度调节为50%,绘制如下的线条;此时可以看到,所绘制的效果已经很像一颗水珠了。 6.选中图层2,可按Ctrl+A全选,拷贝图层2;然后新建一新的图像文件,大小为200x200,背景设为蓝色;把前一图像文件中的图层2中所制作好的水珠粘贴到该新建图像文件中,多粘贴几个,并调节好大小,然后合并为图层7。 7.选中当前图层(图层7),利用菜单命令:滤镜→扭曲→波浪,调节好参数值。即可得到 8.对图层7再进行波浪变形,参数要有所不同,以产生随机效果。 9.复制粘贴图层7以得到图层8,在图层8中利用自 由变换工具调节大小和角度。 10.再粘贴一次,完成后的效果。 11.对图层8、图层9分别再使用一次波浪变形滤镜; 12.将图层7、8、9合并,并作拷贝,导入一幅图片。 13.粘贴图层,用自由变换工具调整到合适位置,到此为止,整个效果图即制作完毕。 小结 平面设计是一项相当复杂的工作,要设计一件比较理想的平面作品,设计者需要具有一定的美术知识和素养。并且需要知道色彩的构成、分类与感情的关系,以及调和与配色等一系列美术知识,需要具备一定的设计经验。还要懂得如何使用相关平面设计软件,通过这次的毕业设计通过本次毕业设计,使我对Photoshop有了很深的认识,对平面设计的布局、创意都有了一定的提高。
汉字图形窗口界面设计方法及函数编程技巧摘要 该文讨论了汉字图形窗口界面设计的一般方法,给出了窗口生成,窗口管理,菜单生成与管理,鼠标与键盘管理等实现的子函数,并给出了部分C语言源程序。这些函数的组合可以设计出丰富的汉字图形窗口界面。一、图形窗口设计函数主要包括窗口生成与管理函数,如窗口生成,窗口打开,窗口关闭,窗口删除等。窗口结构定义方法typedef struct gwin {int x0,y0,y1; /*窗口位置及大小*/int Border; /*窗口边框类型*/int Wcolor; /*窗口背景颜色*/char Wstate; /*窗口状态标志*/char far *Buffer; /*指向窗口缓冲区指针*/}GWIN;在GWIN中,Border为窗口的边框属性,可以根据不同要求设计出多种边框类型业,以美化窗口界面。窗口子函数窗口生成子函数:Gwin * GwinCreate(x0,y0,x1,y1,border,color)int x0,y0,x1,y1; /*窗口位置及大小*/BorderMode border; /*窗口边框类型*/int color; /*窗口背景颜色*/窗口显示子函数:GwinDisplay(GWIN *w)w为用GwinCreate生成的窗口指针,即此函数画出窗口。窗口打开子函数:GwinOpen(GWIN * w)此函数调用GwinDisplay来显示窗口,并存储屏幕。窗口关闭子函数:GwinClose(GWIN * w)此函数关闭已打开的窗口,恢复屏幕,但此窗口数据还保存,可再次打开。窗口删除子函数:GwinKill(GWIN * w)此窗口彻底清除窗口,不可重新打开。部分程序下面给出实现上述功能的C语言程序/*Windows Create*/#include #include #include #include #include #include #define CR 0x0d#define Esc 0x1b#define Left 0x4b#define Right 0x4d#define Up 0x4d#define Down 0x50#define OPEN 1 /*窗口为打开状态*/#define CLOSE 0 /*窗口为关闭状态*/#define MOUSE 0 /*是否有鼠标移动*//*定义窗口边框类型*/typedef enum {NoBorder,/*普通窗口,系统默认值*/TBorder,/*窗口有凸边框类型*/WBorder,/*窗口有凹边框类型*/TWBorder,/*窗口有凸凹边框类型*/WTBorder,/*窗口有凹凸边框类型*/CBorder,/*窗口有汉字边框类型*/ /*其它窗口类型*/}BorderMode;GWIN * GwinCreate(x0,y0,x1,y1,border,color)int x0,y0,x1,y1;BorderMode border;int color;{GWIN *w;w=malloc(sizeof(GWIN));w->x0=x0;w->y0=y0;w->x1=x1;w->y1=y1;if(border==NoBorder)w->Border=NoBorder;if(border==WBorder)w->Border=WBorder;if(border==TBorder)w->Border=TBorder;if(border==TWBorder)w->Border=TWBorder;if(border==WTBorder)w->Border=WTBorder;if(border==CBorder)w->Border=CBorder;w->Wcoloe=color;w->Buffer=NULL;return(w);}void GwinDisplay(GWIN * w){if(w->Border==NoBorder)DrawGwin(w,NoBorder);if(w->Border==WBorder)DrawGwin(w,WBorder);if(w->Border==TBorder)DrawGwin(w,TBorder);if(w->Border==WTBorder)DrawGwin(w,TWBorder);if(w->Border==TWBorder)DrawGwin(w,TWBorder);if(w->Border==CBorder)DrawGwin(w,CBorder);}void GwinOpen(GWIN * w){if(w->Wstate==OPEN)return 0;w->Buffer=(char far *)malloc((unsigned int))-imagesize(w->x0,w->y0,w->x1,w->y1)-getimage(w->x0,w->y0,w->x1,w->y1,w->Buffer);w->Wstate=OPEN;GwinDisplay(w);}void GwinClose(GWIN * w){if(w->Wstate==CLOSE)return 0;-putimage(w->x0,w->y0,w->Buffer,-GPSET);free((char far *) w->Buffer);w->Wstate=COLSE;}void GwinKill(GWIN * w){if(w->Wstate==OPEN)GwinClose(w);free(w);}二、菜单窗口界面生成与管理子函数菜单结构定义说明typedef struct gmenu{GWIN * w; /*含有菜单的窗口*/char * * chstring;/*菜单中汉字串指针*/int xnum;/*水平方向菜单分布项*/int ynum;/*垂直方向菜单分布项*/int hzcolor/*汉字颜色*/int mnow /*光标位置*/int mtotal/*菜单总个数*/}GMENU;菜单生成与管理子函数菜单生成子函数:GMENU * MenuCreate(x,y,xnum,ynum,border,hzcolor,bcolor,chstring)int x,y;/*菜单左上角位置*/int xnum,ynum;/*菜单在X,Y方向个数*/BorderMode border;/*菜单边框类型*/int hzcolor; /*汉字颜色*/int bcolor; /*菜单背景颜色*/char * * chstring; /*汉字串*/菜单打开子函数:MenuOpen(GMENU * m)m为用MenuGreate生成的菜单直针。菜单驱动子函数:MenuDrive(GMENU * m)此函数提供用鼠标或键盘选择菜单项的方法。菜单关闭子函数:MenuClose(GMENU *m)此函数关闭已打开的菜单,恢复屏幕,但此菜单数据还保存,可再次打开。菜单删除子函数:MenuKill(GMENU * m)此菜单被彻底清除,不可重新打开。实现上述功能子函数的源程序代码GMENU * MenuCreate(x,y,xnum,ynum,border,hzcolor,bcolor,chstring)int x,y,xnum,ynum;BorderMode border;int hzcolor,bcolor;char * * chstring;{GWIN *w,GMENU *m;m=malloc(sizeof(GMENU));m->=chstring=chstring;m->=xnum=xnum;m->=ynum=ynum;m->=hzcolor=hzcolor;m->=mnow=1m->=mtotal=Number_of_Menu(m->=chstring);w=(GWIN *)GwinCreate(x,y,x+xnum * Longest(chstring),y+(ynum-1)+C0,border,bcolor);m->=w=wreturn m;}其中,Number_of_Menu(string)为求串中菜单项个数的函数,Longest(string)为求串中最长项长度的函数。其它子函数可参照窗口函数设计出,此处限于篇幅,不再给出。三、下拉式菜单设计方法有了第一,第二节的窗口设计及菜单设计函数,可以很方便的定义出下拉式及弹出式菜单,菜单可以层层嵌套,主子关系及热键可以自由定义,有了窗口及菜单函数,可以组合设计出风格迥异的应用程序界面。本节的子函数包括:根菜单生成(主菜单)、下拉式菜单生成、菜单连接、菜单初始化、菜单驱动、菜单关闭、菜单删除。下拉式菜单结构定义方法typedef struct pmenu{GMENU * m;/*定义菜单*/int pstate; /*下拉式菜单状态*/int pid; /*菜单标识码*/struct pmenu *Father; /*定义父菜单*/struct pmenu *Son /*定义子菜单*/char hotkey[MaxSon+1];/*定义热键*/}PMENU;下拉式菜单生成与管理子函数根菜单生成子函数:PMENU *Proot(pid,x,y,border,hzcolor,bcolor,chstring)int pid;/*根菜单标识码,一般为000*/int x,y;/*菜单在X,Y方向个数*/BorderMode border;/*菜单边框类型*/int hzcolor;/*汉字颜色*/int bcolor;/*菜单背景颜色*/char * * chstring;/*汉字串*/下拉式菜单生成子函数:PMENU *Pcreate(pid,x,y,border,hzcolor bcolor,chstring参数含义同上,pid值一般取为100,200,300等,利用此函数可生成普通弹出式菜单。菜单连接子函数:void Plink(PMENU * p1,int n,PMENU * p2)此函数建立两个菜单p1,p2之间的主次关系,p1为父菜单,p2为子菜单,执行此菜单,则把p2挂在了p1的第n个菜单项上。下拉式菜单初始化子函数:Pint();菜单关闭子函数:Pclose();菜单删除子函数:Pkill();菜单中定义热键子函数:HotKey(PMENU *p1,int n,int Vascii);PMENU *p1;/*下拉式菜单p1*/int n;/*菜单p1中菜单个数*/int Vascii;/*定义热键的ASCII码值*/利用此函数可定义弹出式菜单p1中任意项n的键盘热键,该键的ASCII码值为Vascii。实现上述功能子函数的源程序代码PMENU *RP,*CP;pmenu * Proot(pid,x,y,border,hzcolor,bcolor,chstring)int pid,x,y;BorderMode border;int hzcolor,bcolor;char * * chstring;{PMENU *p;int i;RP=CP=malloc(sizeof(PMENU));p->pstate=CLOSE;p->pid=pid;p->m=MenuCreate(x,y,Num_of_Menu(chstring),1,border,hzcolor,bcolor,chstring);p->father=NULL;for(i=1;iSon[i]=NULL;p->hotkey[i]=0;}return(p);}void Plink(PMENU *p1,int n,PMENU *p2){p1-Son[n]=p2;p2->Father=p1;}其它子函数可参照菜单函数设计出,此处限于篇幅,不再给出。四、其它辅助函数计算菜单项个数的函数int Number_Of_Menu(char * * chstring){int i;for(i=0;chstring[i]!=NULL;i++);return(i);}键盘与鼠标处理子函数int Get_Key_Mouse(int *x,int *y)此函数用来同时接收键盘及鼠标,有按键时返回该键的ASCII码,有鼠标操作时返回鼠标的X,Y座标,提供给程序作处理。仅供参考,请自借鉴。希望对您有帮助。