多媒体编程基础课程综合作业说明书-MFC图形图像处理及绘图软件设计
多媒体编程基础课程综合作业说明书
多媒体编程基础课程综合作业说明书题目多媒体处理综合应用设计班级学生姓名学号20 年月日1一、程序功能与设计思路设计目标与具有的功能:必须含有文字处理、绘图、图像、音频视频四部分内容各3种以上功能,界面及应用方法自己根据软件的特色综合考虑,每位同学必须自己设计一个动画标志,放在【帮助】对话框中,或者窗口界面上设计思路:1)图形处理:➢可以选择直线,矩形,椭圆,涂鸦进行绘画➢可以选择线的形状:实线,虚线,点线➢可以改变线条的颜色➢可以改变线条的宽度➢可以进行多边形填充颜色并可以改变颜色2)图片处理:➢可以打开BMP格式的图片➢可以进行锐化,浮雕,反色等图片处理效果➢可以显示鼠标在图片上坐标处的颜色值和颜色3)文字处理:➢实现至少少三种文字特效,比如:文字渐变,旋转体,3D,文字倾斜,下划线,空心字等4)音乐播放器:2➢可以打开mp3,wma,wvi格式的歌曲➢可以控制音乐的播放、暂停、停止➢可以指定播放当前音乐的上一个或下一个音乐➢在列表中随意选择要播放的音乐➢在播放时,可以获取并显示当前播放音乐的信息➢可以调节音乐的音量5)视频播放器:➢可以打开MP3,WMA,WMV,AVI,RM,RMVB,FLV,MP4等格式➢在列表中随意选择要播放的媒体文件➢控制媒体文件的播放、暂停、停止、快进、快退➢指定播放当前文件的上一个或下一个媒体文件➢在播放时,可以获取并显示当前播放媒体的文件信息➢播放模式可以进行进行选择➢可以对播放列表或列表中的选项进行删除操作二、相关原理知识介绍(1)图形处理:画笔和画刷是绘图中最基本的元素31.画笔(Pen):用于在设备环境中绘制直线,曲线和多边形边框。
创建画笔:(1)CPen();(2)CPen(int nPenStyle, int nWidth, COLORREF crColor);nPenStyle:画笔的样式PS_SOLID 创建一个实线画笔,PS_DASH 创建一个虚线画笔,PS_DOT 创建一个点线画笔nWidth:画笔的宽度crColor:画笔的颜色(颜色用RGB值来描述)2.画刷(CBrush):常用于填充个区域诸如多边形,椭圆和路径等图形内部区域创建画刷:(1)CreateSolidBrush 用指定的颜色初始化画刷(2)CreateHatchBrush 用指定的阴影线初始化画刷。
多媒体编程基础课程设计
多媒体编程基础课程设计一、教学目标本课程旨在通过多媒体编程的教学,让学生掌握多媒体编程的基本概念、技术和方法,培养学生运用多媒体编程解决实际问题的能力。
知识目标:使学生了解多媒体编程的基本概念,理解多媒体编程的基本技术和方法,掌握多媒体编程的基本语言和工具。
技能目标:培养学生运用多媒体编程技术进行创新设计的能力,提高学生解决实际问题的能力,使学生能够独立完成多媒体编程项目。
情感态度价值观目标:培养学生对新技术的敏感性和好奇心,提高学生对科学探究的兴趣,培养学生勇于创新、积极进取的精神风貌。
二、教学内容本课程的教学内容主要包括多媒体编程的基本概念、基本技术和方法,以及相关的编程语言和工具。
具体包括:多媒体编程的基本概念,多媒体编程的基本技术和方法,多媒体编程的基本语言和工具,多媒体编程项目的设计和实现。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法、实验法等。
通过讲授法,使学生了解和掌握多媒体编程的基本概念、技术和方法;通过案例分析法,培养学生运用多媒体编程技术解决实际问题的能力;通过实验法,使学生掌握多媒体编程的基本语言和工具,提高学生的实际操作能力。
四、教学资源本课程的教学资源主要包括教材、参考书、多媒体资料、实验设备等。
教材和参考书将作为学生学习的主要资源,多媒体资料将用于辅助教学,实验设备将用于学生的实验操作。
五、教学评估本课程的评估方式包括平时表现、作业、考试等多种形式,以全面、客观、公正地评价学生的学习成果。
平时表现将根据学生在课堂上的参与度、提问回答、小组讨论等表现进行评估;作业将根据学生的完成质量、创新性和正确性进行评估;考试将涵盖本课程的所有知识点,以检验学生对多媒体编程知识的掌握程度。
六、教学安排本课程的教学安排将根据课程内容和学生的实际情况进行调整,确保在有限的时间内完成教学任务。
教学进度将按照教材的章节进行,每个章节安排适当的教学时间;教学时间将根据学生的作息时间进行调整,以保证学生有充足的精力参与学习;教学地点将选择教室或实验室等合适的地方进行。
MFC绘图版 软件说明书.
广西工学院计算机工程系《Windows程序设计》课程设计说明书课题名称:学生姓名:学号:班级:指导教师:完成日期:年月日目录1.问题陈述及其软件功能概述.............................................P 2.总体设计………………………………………………….P 3.详细设计和部分程序代码………………………...……..P 4.运行结果及分析………………………………………….P 5.总结……………………………………………………….P1.问题陈述及其软件功能概述1.1问题陈述本次课程设计,我所选择的题目是<多功能绘图软件>。
面临以下主要几个问题:1)如何用鼠标进行画图?2)如何绘制一下几种图形,线,带箭头的线,任意线,圆,椭圆,矩形?3)如何在内存中保存以上几种图形?4)如何将图形保存到文件中去?5)如何从文件中读取以前画过的图形?面临以下几个次要的问题:1)如何选择绘画的类型?2)如何改变画笔的颜色和宽度和形状?3)如何实现图形的橡皮条功能?4)如何实现图形中的透明画刷功能?5)如何实现图形的重绘?6)如何实现画图工具栏?7)如何实现状态栏鼠标坐标显示和当前时间显示?8)如何打开txt文档以及如何改变显示文本的字体?9)如何打开bmp文件?10) 如何打开wav文件?1.2软件功能概述软件主要有以下几个主要功能1)用鼠标可以绘制图形,包括一下几种:直线,带箭头的线,任意线,圆形,椭圆,矩形。
2)可以对画笔进行设置:画笔的颜色,画笔的线宽,画笔的形状。
3)可以保存所有的图形到内存中,所有图形绘制后,拉动窗口发生重绘不改变。
4)可以将所有绘制的图形保存到文件中,并且可以读取。
5)可以“新建”空白绘图文档。
6)可以查看最近打开的文档。
7)可以打印用户绘制好后的图形,打印预览你绘制的图形。
8)可以完成一部分的“撤消”功能,(注:任意曲线的图形绘制撤消不能实现)9)可以完成图形“清空”功能。
mfc画图课程设计
mfc 画图课程设计一、教学目标本课程旨在通过MFC画图的学习,让学生掌握以下知识目标:1. 理解MFC的基本概念和原理;2. 掌握MFC的基本绘图方法;3. 了解MFC绘图的应用场景。
技能目标:1. 能够运用MFC进行简单的图形绘制;2. 能够通过MFC实现图形的基本操作;3. 能够运用MFC解决绘图相关问题。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣和热情;2. 培养学生独立思考和解决问题的能力;3. 培养学生团队协作和交流的能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1. MFC的基本概念和原理;2. MFC 的基本绘图方法;3. MFC绘图的应用场景。
详细的教学大纲如下:第1周:MFC的基本概念和原理1.1 MFC的定义和发展历程1.2 MFC的基本组成和架构1.3 MFC的优点和缺点第2周:MFC的基本绘图方法2.1 MFC绘图环境的基本操作2.2 MFC绘图工具的使用2.3 MFC绘图方法的具体实现第3周:MFC绘图的应用场景3.1 MFC绘图在实际项目中的应用3.2 MFC绘图在解决实际问题中的优势3.3 MFC绘图在其他领域的拓展三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:通过讲解MFC的基本概念、原理和绘图方法,让学生掌握相关知识。
2.案例分析法:通过分析实际项目中的应用案例,让学生了解MFC绘图在实际场景中的应用。
3.实验法:让学生动手实践,亲自编写代码,绘制图形,提高学生的实际操作能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:《MFC画图教程》2.参考书:《MFC编程入门》、《MFC实例解析》3.多媒体资料:教学PPT、视频教程4.实验设备:计算机、编程环境(如Visual Studio)五、教学评估本课程的评估方式将包括以下几个方面:1.平时表现:包括课堂参与度、提问回答、小组讨论等,占总评的30%。
多媒体设计与制作课程说明
05 课程评估与证书
课程评估方式
作品评估
根据学生在课程中完成 的多媒体作品,如网站、 动画、游戏等,进行评
估。
课堂表现
包括出勤率、课堂参与 度、小组讨论等课堂表
现。
期末考试
通过笔试或实操考试, 测试学生对课程内容的
掌握程度。
作业提交
按时提交课程要求的作 业,以检验学生的学习
进度和成果。
证书获取条件
内容规划
根据项目目标和创意构思,规划所需呈现的内容, 包括文字、图片、音频、视频等素材。
项目制作与实现
选择合适的工具和技术
根据项目需求和目标,选择适合的多媒体制 作工具和软件,如Adobe系列软件、视频剪 辑软件等。
素材采集与处理
根据内容规划,采集所需的素材,并进行必要的处 理和编辑,如图片美化、音频剪辑、视频剪辑等。
特效应用
了解并掌握各种视频特效的使用,如文字动画、 过渡效果等,提升视频的视觉效果。
视频输出
根据不同需求,学习如何设置视频输出参数,确 保作品在不同平台上的播放效果。
04 多媒体项目实战
项目策划与设计
确定项目目标和定位
根据客户需求和目标受众,明确项目的目的、主题 和风格。
创意构思
发挥想象力,提出新颖、有吸引力的创意和设计理 念,为项目奠定独特风格。
多媒体设计与制作课程说明
contents
目录
• 课程简介 • 多媒体设计基础 • 多媒体制作技术 • 多媒体项目实战 • 课程评估与证书
01 课程简介
课程目标
提高学生的创意、创新和 实际操作能力。
掌握多媒体设计与制作的 基本原理和技能。
培养学生对多媒体设计与 制作的兴趣和热情。
第6章 图形图像和多媒体应用程序设计方法
第6章图形图像和多媒体应用程序设计方法本章在分析“指针式时钟”和“VCD播放器”程序设计实例的基础上,主要介绍图形操作的基础知识和VB中开发多媒体应用程序的两种主要方式。
主要包括坐标系统、简单几何绘图、相关控件的使用方法等。
通过本章学习,你应该能够达到如下学习目标:1.掌握图形图像的基本处理方法。
2.理解VB坐标系统的原理。
3.掌握图形控件和多媒体控件的使用和与绘图有关的常用属性和方法。
4.理解“指针式时钟”程序的设计方法,能够读懂并完善这类程序的部分语句。
5.了解“VCD播放器”程序设计的方法,能够读懂并完善这类程序的部分语句。
6.了解播放多媒体信息的基本方法一、主要知识点1.VB坐标系统在VB中,每个对象都定位在存放它的容器内,对象的定位都要使用容器的坐标系。
例如,窗体处于屏幕内,屏幕就是窗体的容器(如教材图6.5所示),而在窗体内绘制对象时,窗体就是容器(如教材图6.6所示)。
如果在图片框内绘制图形,则该图片框就是容器(如教材图6.7所示)。
容器内的对象只能在容器内变动,当移动容器时,容器内的对象也随着容器一起移动,而且与容器的相对位置保持不变。
(1)窗体的缺省坐标系统构成一个坐标系需要三个要素:坐标原点、坐标轴度量单位、坐标轴方向。
坐标轴的度量单位由对象的ScaleMode属性来决定(有8种形式),缺省为Twip(缇)。
默认的坐标原点(0,0)为对象的左上角,横向向右为X轴的正向,纵向向下为Y轴的正向。
窗体的缺省坐标系统如图1所示。
注意:窗体的Height属性值包括了垂直边框宽度(如教材图6.5所示)。
ScaleHeight属性决定。
(2)自定义坐标系统图1 窗体的缺省坐标系统Y轴轴VB中坐标系的定义有如下两种方法:①通过ScaleTop、ScaleLeft、ScaleWidth、ScaleHeight四项属性来实现ScaleTop、ScaleLeft的值用于指定对象左上角坐标,所有对象的ScaleLeft、ScaleTop属性的缺省值为0,坐标原点在对象的左上角,当改变ScaleLeft、ScaleTop的值后,坐标系的X 轴或Y轴按此值平移形成新的坐标原点。
MFC课程设计
MFC 课程设计一、课程目标知识目标:1. 学生能理解MFC(Microsoft Foundation Classes)的基本概念,掌握其框架结构和编程原理。
2. 学生能掌握MFC中的常用类及其功能,如CWnd、CView、CFrameWnd 等。
3. 学生能了解MFC的消息映射机制,学会使用MFC处理Windows消息。
技能目标:1. 学生能运用MFC创建Windows应用程序,熟练使用MFC控件进行界面设计。
2. 学生能通过MFC实现应用程序的基本功能,如文件操作、绘图等。
3. 学生能运用MFC进行事件处理,编写响应鼠标、键盘等操作的程序。
情感态度价值观目标:1. 培养学生对MFC编程的兴趣和热情,激发他们探索Windows编程的积极性。
2. 培养学生良好的编程习惯,强调代码规范和程序调试的重要性。
3. 培养学生的团队协作意识,让他们在编程实践中学会相互交流、分工合作。
本课程针对高年级计算机专业学生,结合课程性质、学生特点和教学要求,将课程目标分解为具体的学习成果。
通过本课程的学习,学生将掌握MFC编程的基本知识和技能,能够独立开发Windows应用程序,并在实践中培养良好的编程素养和团队协作能力。
二、教学内容1. MFC概述:介绍MFC的基本概念、发展历程和应用领域,让学生了解MFC在Windows编程中的重要性。
相关教材章节:第一章 MFC概述2. MFC框架结构:讲解MFC的类层次结构,重点介绍CObject、CCmdTarget、CWnd等核心类及其关系。
相关教材章节:第二章 MFC框架结构3. MFC编程基础:学习MFC应用程序的创建、运行流程,掌握MFC的消息映射机制。
相关教材章节:第三章 MFC编程基础4. MFC常用类及其功能:详细介绍CFrameWnd、CView、CDialog等常用类,并通过实例演示其用法。
相关教材章节:第四章 MFC常用类及其功能5. MFC事件处理:学习如何使用MFC处理鼠标、键盘等Windows消息,编写事件响应程序。
MFC画图程序步骤
MFC画图程序步骤MFC(Microsoft Foundation Class)是一种用于开辟Windows应用程序的C++类库。
在MFC中,我们可以使用GDI(Graphics Device Interface)来创建和操作图形。
下面是使用MFC创建一个简单的画图程序的步骤。
步骤1:创建一个新的MFC项目首先,打开Visual Studio并选择创建一个新的项目。
在项目类型中,选择Visual C++ -> MFC,然后选择MFC应用程序类型。
输入项目名称并选择保存的位置。
在应用程序类型中,选择“单文档”或者“多文档”视图,具体根据你的需求而定。
点击“确定”按钮创建项目。
步骤2:设计用户界面在MFC应用程序中,用户界面是通过对话框资源来设计的。
在资源视图中,双击IDD_DIALOG(或者其他对话框资源)以打开对话框编辑器。
在对话框编辑器中,你可以添加按钮、文本框、菜单等控件来设计你的用户界面。
在画图程序中,你可以添加一个画布控件来显示绘制的图形。
步骤3:添加绘图功能在MFC中,你可以使用GDI来进行绘图操作。
打开你的对话框类的头文件(例如,CMyDialog.h),添加以下头文件引用:#include <afxwin.h>#include <afxext.h>#include <afxdisp.h>在对话框类的源文件(例如,CMyDialog.cpp)中,添加以下代码来处理绘图操作:```void CMyDialog::OnPaint(){CPaintDC dc(this); // 用于绘制的设备上下文// 在这里进行绘图操作dc.Rectangle(100, 100, 200, 200); // 绘制一个矩形dc.Ellipse(300, 100, 400, 200); // 绘制一个椭圆}```步骤4:处理绘图事件在对话框类的消息映射中添加对绘图事件的处理。
mfc画图板课程设计
mfc画图板课程设计一、课程目标知识目标:1. 学生能够理解MFC画图板的基本原理,掌握画图板工具的使用方法;2. 学生能够运用MFC画图板的基本功能进行图形绘制,如线条、圆形、矩形等;3. 学生能够了解颜色、线条粗细等属性设置,并能运用到实际绘图过程中;4. 学生掌握MFC画图板中的图层概念,能进行简单的图层操作。
技能目标:1. 学生能够独立操作MFC画图板,完成基本的图形绘制;2. 学生能够通过MFC画图板进行创意设计,提高绘画表达能力;3. 学生能够运用MFC画图板解决实际问题,如制作简单的海报、插图等;4. 学生能够通过课程实践,提高观察力、想象力和创造力。
情感态度价值观目标:1. 学生对计算机绘图产生兴趣,增强学习计算机技术的自信心;2. 学生培养良好的审美观念,关注生活中的美;3. 学生在团队协作中,学会互相帮助、共同进步,培养集体荣誉感;4. 学生通过计算机绘图,培养环保意识、社会责任感,将所学知识运用到实际生活中。
课程性质:本课程为信息技术学科,以实践操作为主,注重培养学生的动手能力和创新能力。
学生特点:六年级学生具备一定的计算机操作基础,好奇心强,喜欢尝试新事物。
教学要求:结合学生特点,注重启发式教学,引导学生主动探究,提高实践操作能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. MFC画图板概述:介绍MFC画图板的基本功能、界面布局及操作方法,使学生对其有整体认识。
- 教材章节:第三章 计算机绘图基础2. 基本绘图工具的使用:讲解并实践线条、圆形、矩形等基本图形的绘制方法,以及颜色、线条粗细设置。
- 教材章节:第三章 计算机绘图基础3. 图层概念与操作:介绍图层的作用、创建、删除、移动等基本操作,提高学生的绘图技能。
- 教材章节:第四章 图层与对象4. 创意绘图实践:引导学生运用所学知识进行创意设计,如制作海报、插图等,提高学生的绘画表达能力。
- 教材章节:第五章 创意绘图实践5. 计算机绘图与生活应用:结合实际案例,让学生了解计算机绘图在生活中的应用,培养环保意识和社会责任感。
mfc绘图课程设计
mfc绘图课程设计一、课程目标知识目标:1. 学生能理解MFC(Microsoft Foundation Class)的基本概念及其在绘图中的应用;2. 学生能掌握MFC绘图程序的基本框架和常用绘图工具的使用;3. 学生能了解并运用MFC中的颜色、画笔、画刷等绘图属性。
技能目标:1. 学生能运用MFC编写简单的绘图程序;2. 学生能通过MFC实现基本的图形绘制,如线条、矩形、椭圆等;3. 学生能通过MFC实现图形的填充、旋转等变换。
情感态度价值观目标:1. 培养学生对计算机绘图产生兴趣,激发其主动探索精神;2. 培养学生在团队合作中相互学习、交流,形成良好的合作氛围;3. 培养学生具备创新思维,敢于尝试新方法,提高解决问题的能力。
课程性质:本课程为信息技术学科选修课程,适用于对计算机绘图有兴趣的学生。
学生特点:学生具备一定的编程基础,对MFC有一定了解,具有较强的学习能力和探索精神。
教学要求:课程要求教师引导学生主动探索,通过实践操作,掌握MFC绘图的相关知识和技能。
在教学过程中,注重培养学生的动手能力和创新能力。
教学评估以学生的实际操作和绘图作品为依据。
二、教学内容1. MFC绘图基础理论:- MFC概述及其在绘图中的应用;- 常用绘图工具和类的介绍。
2. MFC绘图程序框架:- 创建MFC绘图程序的基本步骤;- 常用绘图函数和功能介绍。
3. 图形绘制与变换:- 线条、矩形、椭圆等基本图形的绘制;- 图形的填充、旋转等变换操作。
4. MFC绘图进阶应用:- 颜色、画笔、画刷等绘图属性的应用;- 综合实例分析,实现复杂图形的绘制。
教学大纲安排:第一课时:MFC绘图基础理论,介绍MFC及其在绘图中的应用,学习常用绘图工具和类。
第二课时:MFC绘图程序框架,学习创建MFC绘图程序的基本步骤和常用绘图函数。
第三课时:图形绘制与变换,实践绘制基本图形和实现图形的填充、旋转等变换。
第四课时:MFC绘图进阶应用,学习颜色、画笔、画刷等绘图属性的应用,分析综合实例。
实验四 MFC图形绘制编程实验
实验四 MFC图形绘制编程实验一、实验目的(1) 熟悉Visual C++ 6.0开发环境;(2) 掌握MFC消息映射的操作步骤;(2) 掌握MFC图形输出的方法;(3) 理解设备环境、画笔、画刷的概念,掌握常用的绘图函数。
二、实验内容请编写程序,要求如下:(1) 定义一支黄色画笔,绘制一条线段;(1) 定义一支紫色画笔,绘制一条多段线;(3) 定义一支红色画笔,绘制一个正方形,并用适当的画刷填充图形内部;(4) 定义一支绿色画笔,绘制一个圆,并用适当的画刷填充图形内部;(5) 定义一支蓝色画笔,绘制一个正六边形,并用适当的画刷填充图形内部。
三、实验报告1.列出图形绘制程序代码清单:(1)在头文件Demo.h中:#include "afxwin.h"class CDemoWnd:public CFrameWnd{public:CDemoWnd();~CDemoWnd();public:LRESULT OnPaint(WPARAM wParam,LPARAM lParam);DECLARE_MESSAGE_MAP()public:int m_nX0;int m_nY0;int m_nX1;int m_nY1;};class CDemoApp:public CWinApp{public:BOOL InitInstance();};CDemoApp ThisApp;(2)在源文件Demo.cpp中:#include "tpd1.h"CDemoWnd::CDemoWnd(){m_nX0 = 0;m_nY0 = 0;m_nX1 = 0;m_nY1 = 0;}CDemoWnd::~CDemoWnd(){}BEGIN_MESSAGE_MAP(CDemoWnd,CFrameWnd)ON_MESSAGE(WM_PAINT,OnPaint)END_MESSAGE_MAP()LRESULT CDemoWnd::OnPaint(WPARAM wParam,LPARAM lParam) {CPaintDC dc(this);CPen Pen1,*pOldPen1;Pen1.CreatePen(PS_SOLID,10,RGB(255,255,0));pOldPen1=dc.SelectObject(&Pen1);dc.SelectObject(&Pen1);dc.MoveTo(10,10);dc.LineTo(100,100);CPen Pen2,*pOldPen2;Pen2.CreatePen(PS_SOLID,4,RGB(255,0,255));pOldPen2=dc.SelectObject(&Pen2);dc.SelectObject(&Pen2);POINT pt1[]={{100,10},{10,180},{200,150}};dc.Polyline(pt1,3);CPen Pen3,*pOldPen3;dc.SelectStockObject(BLACK_BRUSH);Pen3.CreatePen(PS_SOLID,4,RGB(255,0,0));pOldPen3=dc.SelectObject(&Pen3);dc.SelectObject(&Pen3);dc.Rectangle(300,50,400,150);CPen Pen4,*pOldPen4;dc.SelectStockObject(GRAY_BRUSH);Pen4.CreatePen(PS_SOLID,4,RGB(0,255,0));pOldPen4=dc.SelectObject(&Pen4);dc.SelectObject(&Pen4);dc.Ellipse(500,200,700,400);CPen Pen5,*pOldPen5;Pen5.CreatePen(PS_SOLID,4,RGB(0,0,255));pOldPen5=dc.SelectObject(&Pen5);dc.SelectStockObject(DKGRAY_BRUSH);dc.SelectObject(&Pen5);POINT pt2[]={{250,250},{400,250},{475,379},{400,509},{250,509},{175,379}};dc.Polygon(pt2,6);return 0;}BOOL CDemoApp::InitInstance(){CDemoWnd *pMainWnd = new CDemoWnd();pMainWnd->Create(NULL,"Demo Mini-MFC");pMainWnd->ShowWindow(m_nCmdShow);pMainWnd->UpdateWindow();m_pMainWnd = pMainWnd;return TRUE;}2、程序运行结果:3、总结在MFC 程序中绘制图形的基本操作步骤:(1)获取图形设备接口。
图像处理课程设计教学大纲、任务书
图像处理课程设计教学大纲、任务书第一篇:图像处理课程设计教学大纲、任务书《数字图像处理》课程设计教学大纲、任务书适用专业:通信、测控教学周数:1.5周学分:1.5学分1、课程设计目的1、提高分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。
2、熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。
2、课程设计选题每生可任选其中之一或者可从网络、书籍、文献中广泛查阅并选择合适题目。
2.1 【课程设计选题一】图像滤波研究自选黑白图像,用加噪声的方法获得有噪图像。
整个设计要完成的基本功能大致如下:1、用图像平均的方法消除噪声并计算信噪比的改善。
(参考P.68)2、用平滑滤波方法消除噪声并计算信噪比的改善(参考P.71)。
3、用中值滤波方法消除噪声并计算信噪比的改善(参考P.73)。
4、用理想低通滤波方法消除噪声并计算信噪比的改善(参考P.78)。
5、用巴特沃斯低通滤波方法消除噪声并计算信噪比的改善(参考P.80)。
更换不同特性的图像和噪声重复以上滤波方法,观察并分析这些算法的应用场合。
2.2【课程设计选题二】图像恢复研究整个设计要完成的基本功能大致如下:1、自选黑白图像,并参考P.96获得失真图像。
2、对失真图像进行FFT,并从频谱上研究如何获得失真参数。
3、用获得的参数对失真图像加以恢复(参考P.99)。
编制程序并调试。
(最好能通过程序自动从频谱中获取失真参数)。
2.3【课程设计选题三】熵编码研究自选黑白图像。
整个设计要完成的基本功能大致如下:1、编程实现Huffman编码并计算平均码长。
(参考P.144)2、编程实现算术编码并计算平均码长。
(参考P.149)3、给定不同统计特性的图像重复以上编码,并加以分析。
2.4【课程设计选题四】DCT变换编码研究自选黑白图像。
1、编程实现DCT编码。
(参考P.179)2、编程实现DCT解码。
(参考P.181)3、观察不同压缩比下的解码图像质量。
【计算机图形学课程】一.MFC基本绘图函数使用方法
【计算机图形学课程】⼀.MFC基本绘图函数使⽤⽅法这是最近我《计算机图形学》课程实践编程课介绍的相关知识,主要是想通过MFC C++绘图,让学⽣体会下图形学相关的编程及简单的图形绘制,同时⾮常佩服学⽣的想象⼒,他们做得真的不错。
希望这篇基础⽂章对你有所帮助吧!尤其是有这门课程的学⽣或编程爱好者,如果⽂章存在错误或不⾜之处,还请海涵。
参考书籍:孔令德·《计算机图形学基础教程(Visual C++版)》学⽣绘制的图形还是⾮常有创新的,表⽰很满意,哈哈哈~⼀. MFC绘图基础知识 CDC类PS:这部分主要引⼊孔令德⽼师的知识,这篇⽂章以后⾯的编程为主。
VC++具有强⼤的绘图功能,虽然基于对话框的应⽤我推荐⼤家使⽤C# Winform程序,但是计算机图形和图像的基础知识,还是强烈推荐使⽤VC++ MFC实现。
这有助于让你深⼊的理解图形变换、图像处理等知识。
在Windows平台下,GDI(Graphics Device Interface)图形设备接⼝被抽象为上下⽂CDC类(Device Context,DC)。
Windows平台直接接收图形数据信息的不是显⽰器和打印机等硬件设备,⽽是CDC对象。
MFC中,CDC类定义设备上下⽂对象的基类,封装了所需的成员函数,调⽤CDC类的成员函数,绘制和打印图形及⽂字。
CDC类派⽣出CClientDC类、CMetaFileDC类、CPaintDC类和CWindowDC类,请读者⾃⾏学习,同时推荐阅读原书。
MFC常⽤CPoint、CRect、CSize等数据类型。
(1) CPoint类:存放点坐标(x,y);(2) CRect类:存放矩形左上顶点和右下⾓顶点的坐标(top、left、right、bottom),其中(top,left)为矩形的左上⾓点,(right,bottom)为矩形的右下⾓点;(3) CSzie类:存放矩形的宽度和⾼度的坐标(cx,cy),其中cx为矩形的宽度,cy为矩形的⾼度。
计算机程序设计实践 MFC画图软件
}
void CCGraphicsView::OnPie()
{
// TODO: Add your command handler code here
m_nDrawType=7;
}
void CCGraphicsView::OnRoundrect()
{
// TODO: Add your command handler code here
{
// TODO: Add your command handler code here
CSettingDlg dlg;
dlg.m_nLineWidth=m_nLineWidth;/*保存用户设定的值*/
dlg.m_nLineStyle=m_nLineStyle;
if (IDOK==dlg.DoModal())
目的:
1.掌握用VC++6.0开发环境开发软件的方法;
2.熟悉获得帮助的方法;
3.掌握SDI应用程序结构,熟悉基于对话框的应用程序编程方法;
4.掌握用资源编辑器进行图标,菜单,工具栏,对话框等资源的编辑;
5.掌握对话框,常用控件的使用方法;
6.熟悉文档/视图结构,掌握文档和视图的相互控制技巧;
2.需求分析
计算机程序设计实践
课程设计报告
班级_计算机科学与技术1303班
学号130405320
姓名__________韦昌杆___________
指导教师___________杨威_____________
2015年1月8日
交互式绘图程序
1.引言
计算机的发展也是计算机语言的发展得到了很大的提高,人们的生活中离不 开图像,除了我们可以用铅笔在纸上画图外,我们也可以在电脑上绘制我们的想象,本实验就是基于VC++的一个小型的绘图软件。
mfc画图课程设计
mfc 画图课程设计一、课程目标知识目标:1. 学生能理解MFC(Microsoft Foundation Classes)的基本概念,掌握MFC画图程序的基本结构。
2. 学生能运用MFC中的画图工具,如画笔、画刷、线条、矩形等,进行简单的图形绘制。
3. 学生了解并掌握MFC中的颜色设置、图形填充等操作。
技能目标:1. 学生能独立创建一个MFC画图程序,并运用各种工具进行图形绘制。
2. 学生能通过MFC画图程序,将所学知识应用于实际问题,提高编程解决问题的能力。
3. 学生能在团队协作中,共同完成一个复杂的画图作品,提高沟通与协作能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习积极性,增强自信心。
2. 培养学生良好的编程习惯,注重代码规范,提高代码质量。
3. 培养学生的创新意识和团队精神,鼓励学生互相学习、互相帮助,共同进步。
课程性质:本课程为信息技术课程,旨在让学生掌握MFC画图的基本操作,培养编程兴趣和实际操作能力。
学生特点:学生处于高年级阶段,具备一定的编程基础,对MFC画图有一定了解,但实际操作能力较弱。
教学要求:结合学生特点和课程性质,以实践操作为主,注重培养学生的动手能力和团队协作能力。
将课程目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. MFC基本概念介绍:MFC画图程序的框架结构、常用类和对象的作用。
2. 画图工具的使用:画笔、画刷、线条、矩形、椭圆等图形绘制方法。
3. 颜色设置与图形填充:颜色设置、画刷填充、渐变填充等操作。
4. MFC画图程序实例:创建一个简单的MFC画图程序,演示各种画图工具的使用。
5. 综合实践:分组进行团队协作,完成一个具有实际意义的画图作品。
6. 代码优化与规范:讲解编程规范,提高代码可读性和维护性。
教学大纲安排:第一课时:MFC基本概念介绍,了解MFC画图程序的框架结构。
第二课时:学习画笔、画刷、线条等基本画图工具的使用。
MFC绘图版 软件说明书
广西工学院计算机工程系《Windows程序设计》课程设计说明书课题名称:学生:学号:班级:指导教师:完成日期:年月日目录1.问题述及其软件功能概述.............................................P2.总体设计………………………………………………….P3.详细设计和部分程序代码………………………...……..P4.运行结果及分析………………………………………….P5.总结……………………………………………………….P1.问题述及其软件功能概述1.1问题述本次课程设计,我所选择的题目是<多功能绘图软件>。
面临以下主要几个问题:1)如何用鼠标进行画图?2)如何绘制一下几种图形,线,带箭头的线,任意线,圆,椭圆,矩形?3)如何在存中保存以上几种图形?4)如何将图形保存到文件中去?5)如何从文件中读取以前画过的图形?面临以下几个次要的问题:1)如何选择绘画的类型?2)如何改变画笔的颜色和宽度和形状?3)如何实现图形的橡皮条功能?4)如何实现图形中的透明画刷功能?5)如何实现图形的重绘?6)如何实现画图工具栏?7)如何实现状态栏鼠标坐标显示和当前时间显示?8)如何打开txt文档以及如何改变显示文本的字体?9)如何打开bmp文件?10) 如何打开wav文件?1.2软件功能概述软件主要有以下几个主要功能1)用鼠标可以绘制图形,包括一下几种:直线,带箭头的线,任意线,圆形,椭圆,矩形。
2)可以对画笔进行设置:画笔的颜色,画笔的线宽,画笔的形状。
3)可以保存所有的图形到存中,所有图形绘制后,拉动窗口发生重绘不改变。
4)可以将所有绘制的图形保存到文件中,并且可以读取。
5)可以“新建”空白绘图文档。
6)可以查看最近打开的文档。
7)可以打印用户绘制好后的图形,打印预览你绘制的图形。
8)可以完成一部分的“撤消”功能,(注:任意曲线的图形绘制撤消不能实现)9)可以完成图形“清空”功能。
mfc画图课程设计
mfc画图课程设计一、教学目标本课程旨在通过MFC画图的教学,使学生掌握MFC的基本使用方法和绘图原理,培养学生运用MFC进行绘图的能力。
知识目标:使学生了解MFC的基本概念和原理,掌握MFC的绘图方法和相关技术。
技能目标:培养学生运用MFC进行绘图的能力,能够独立完成简单的绘图程序设计。
情感态度价值观目标:培养学生对计算机编程的兴趣,增强学生解决问题的信心,培养学生的创新精神和团队协作意识。
二、教学内容本课程的教学内容主要包括MFC的基本概念、绘图原理和绘图方法。
1.MFC的基本概念:介绍MFC的定义、特点和应用领域。
2.绘图原理:讲解MFC绘图的基本原理,包括坐标系统、绘图函数和绘图模式。
3.绘图方法:介绍MFC绘图的基本方法,包括线条、矩形、椭圆、文字等的绘制。
三、教学方法本课程采用讲授法、实践法和讨论法进行教学。
1.讲授法:通过讲解MFC的基本概念、绘图原理和绘图方法,使学生掌握相关知识。
2.实践法:通过上机实践,使学生亲自操作MFC进行绘图,提高学生的动手能力。
3.讨论法:通过分组讨论,引导学生思考和解决问题,培养学生的团队协作能力和创新精神。
四、教学资源本课程的教学资源包括教材、多媒体资料和实验设备。
1.教材:选用《MFC画图教程》作为主要教材,辅助学生学习MFC的基本概念、绘图原理和绘图方法。
2.多媒体资料:制作PPT课件,生动形象地展示MFC的绘图效果,帮助学生更好地理解绘图原理和方法。
3.实验设备:提供计算机实验室,让学生能够亲自动手实践,提高运用MFC进行绘图的能力。
五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分,以全面、客观、公正地评价学生的学习成果。
1.平时表现:评估学生在课堂上的参与程度、提问回答和团队协作等情况,以体现学生的学习态度和积极性。
2.作业:布置课后练习和项目任务,评估学生的绘图技巧和编程能力,以及学生对课堂知识的掌握程度。
3.考试:进行期末考试,以检验学生对MFC画图知识的综合运用能力。
《多媒体信息处理综合课程设计》
《多媒体信息处理综合课程设计》《多媒体信息处理综合课程设计》要求课程设计要求1、提交时间:第19周周一2、设计报告包括封面、目录、正文(正文双面打印)、附录附程序代码3、课程正文设计提纲格式(1)概述(2)设计原理(包括原理框图)(3)模块设计(4)实现(程序流程)(5)实验结果与分析(6)附录4、图片或视频自拍,且包含本人。
5、答疑时间:每周1、4下午15-17点课题1 玉米(或大米)颗粒图像计数系统设计与实现一.设计目的1.熟悉图像图像处理与识别的基本原理和方法;2.理解和掌握颗粒图像识别的基本方法以及实现;3.熟悉图像处理的编程环境。
二.设备及材料1.PC机一台,扫描仪或照相机一台;2.软件matlab/VC++等;3.拍摄玉米、大米或枸杞等颗粒图像。
三.设计原理四.设计要求1. 熟悉图像自动识别的原理方法;2、运用图像分割的基本理论和方法以及图像识别的基本原理,在MATLAB或VC++等软件环境下对颗粒图像进行检测及识别程序进行调试,进而完成设计;3.设计源程序,运行,观察识别结果。
五.实验结果(a)原始图像(b)灰度化图像(c)中值滤波(d)边缘检测(e)膨胀后图像(f)孔洞填充(g)腐蚀后图像(h)细胞分割六.报告要求1、给出实验设计方法过程及实现代码(编程语言不限);2、输入一幅颗粒图像,给出中间结果图像,输出分割的颗粒图像,并统计出颗粒数目;3、对实验结果进行分析,指出存在的问题。
课题2视频运动目标检测与跟踪一.设计目的1、掌握视频运动目标检测与跟踪的基本原理及方法;2、了解视频运动目标跟踪的实际应用;3、熟练掌握软件编程工具并实现视频运动目标检测与跟踪视频稳像。
二.实验设备及材料1、PC机一台;2、摄像机;3.软件Matlab/VC++/OpenCV等。
三.系统原理图2.1 背景模型运动目标检测图2.1差分模型运动目标检测图2.2混合高斯模型运动目标检测四.实验要求1、拍摄单人运动目标的视频图像;2、设计具体的视频运动目标检测与跟踪方法;3、编写软件代码实现运动目标检测与跟踪视频;4、运行程序,观察运动目标检测与跟踪结果。
MFC课程设计任务书
课程设计任务书…… 2 课程设计题目1::设计一个简单的学生信息管理应用程序…… 2 一、设计目标与内容:…… 2 二、设计要求:…… 2 三、基本思路…… 3 四、主要步骤…… 3 五、设计心得…… 24 六、参考文献……25 课程设计题目3:设计一个简单的计算器应用程序.. 25 一、设计目标与内容:…… 25 二、设计要求:…… 25 三、基本思路…… 25 四、基本步骤……26 五、设计心得……31 六、参考文献……32 课程设计任务书课程设计题目1:设计一个简单的学生信息管理应用:程序一、设计目标与内容:设计目标与内容:1. 了解Windows 编程的基础知识,掌握MFC 应用程序的基本知识;2. 基本掌握面向对象程序设计的基本思路和方法;3. 掌握用VC++开发应用程序的的一般步骤和方法;4. 能够利用所学的基本知识, 设计一个简单的学生信息管理应用程序,具有以下功能:①实现学生信息的存储,可以用文件来实现。
②编程实现学生信息的添加、删除、修改、浏览和查询等功能(必须实现的功能)。
二、设计要求:设计要求:1. 用VC++进行编码,实现应用程序的功能。
注重编码质量,代码要有适当的注释;2. 采用单文档多视图方式,左边为树视图,右边为列表视图,左边一级节点为中原工学院,二级节点为计算机学院和软件学院,三级节点为计算机学院的三个专业。
要求可以动态增加节点。
楼便为列表视图,包含学生的学号、性别、姓名各科成绩等。
右边也可以实现动态增加3.当选中节点时,显示对应的学生信息。
如当选中”中原工学院”时选中所用的学生信息,选中“计算机学院”时,显示所有计算机学院学生信息4.采用序列化方式保存和读取学生信息;提交设计报告一份(课程设计任务书、目录、设计的基本思路、设计的步骤及主要代码、心得体会、参考文献)。
提示:1、读文件时动态构造右边树视图方法,先构造根节点中原工学院,2、序列读取学生信息到一个数组,遍历数组,如果右边树视图中有该节点的信息则不增加,没有则增加该节点,如有学生姓名为张三计算机学院网络工程系学生,二右边没有计算机学院节点时,在“中原工学院”节点下构造“计算机学院”节点,以及“网络工程系三、基本思路建立一个当文档的应用程序,在第六步将视图的基类选择为CTreeList,然后再建立一个新的类listView,用来输出学生的基本信息,用来输出学生的基本信息,用来输出学生的基本信息用来切分窗口,然后添加一个切分窗口的函数OnCreateClient 用来切分窗口,不添加相应的控件来实现学生信息的操作,通过完善学生信息类的功能慢慢实现应的控件来实现学生信息的操作,程序的运行,然后添加一个序列化类程序的运行,然后添加一个序列化类CStudentInfo 来实现信息的读取与保存,最后添加一个新的查找的对话框用来查找、删除、保存,最后添加一个新的查找的对话框用来查找、删除、查询学生信息的一个中介,通过姓名来实现学生信息的功能。
MFC绘图教程
MFC绘图教程.txt MFC编程学习的基本目标编程学习的基本目标可以进行简单的基于MFC的图形界面编程的图形界面编程可以进行简单的基于理解Windows编程的基本概念。
编程的基本概念。
理解编程的基本概念鉴于教学时间进度限制,鉴于教学时间进度限制,更复杂的应用程序开发通过自学完成。
自学完成。
实现基本MFC应用程序需要掌握如下内容:应用程序需要掌握如下内容:实现基本应用程序需要掌握如下内容Windows编程基本概念编程基本概念文档/视图结构文档视图结构文档读写对话框及标准控件的使用菜单栏的使用绘图及鼠标消息的处理3/21/2011 2主要内容GDI与设备环境(DC)与设备环境()与设备环境用CDC绘图绘图应用举例绘图工具类3/21/20113图形设备接口(图形设备接口(GDI))Windows提供了一个称为图形设备接口提供了一个称为图形设备接口 (GraphicsDevice Interface,GDI)的抽象接口。
的抽象接口。
,的抽象接口 GDI 作为作为Windows的重要组成部分,负责管理用的重要组成部分,的重要组成部分户绘图操作时功能的转换。
户绘图操作时功能的转换。
用户通过调用GDI 函数与设备打交道,GDI 通过函数与设备打交道,用户通过调用不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了用户对硬件直接进行操作,的绘图指令,避免了用户对硬件直接进行操作,从而实现设备无关性(显示器或打印机)。
从而实现设备无关性(显示器或打印机)。
3/21/20114GDI的图形输出的图形输出应用程序可以使用GDI 创建如下图形输出应用程序可以使用矢量图形:画线和填充图形,包括点、直线、曲线、多矢量图形:画线和填充图形,包括点、直线、曲线、边形、扇形和矩形等。
边形、扇形和矩形等。
光栅图形:光栅图形:通过光栅图形函数对以位图形式存储的数据进行操作,包括各种位图和图标的输出。
进行操作,包括各种位图和图标的输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多媒体编程基础课程综合作业说明书-MFC图形图像处理及绘图软件设计成绩南京工程学院题目多媒体综合设计班级学生姓名学号2011 年 10 月 28 日,1,一、程序功能与设计思路整体设计目标:含有文字处理、绘图、图像、音频视频四部分内容各3种以上功能,自己设计一个标志,放在窗口界面上,带动画效果 1、主界面1.1 主界面实现功能说明如下:, 菜单项包括文字处理、绘图、图像、音频视频,点击进入各个功能界面, 动画显示个人信息1.2 界面效果显示:,2,1.3 主界面设计思路:首先创建一个基于对话框的对话框的MFC应用程序,然后在资源里添加五个菜单栏和四个对话框并将其对应连接起来,在主对话框菜单栏中添加四个菜单选项与四个子对话框链接,以实现点击菜单项跳出对应的对话框。
然后在主对话框中添加一个shockwaveflash控件以实现在主界面播放设计好的flash动画。
其功能结构如下:主界面图像处理音频视频播放标志文字处理绘图工具,3,2、文字处理2.1 文字实现功能说明如下:, 菜单项包括文字镂空、文字旋转、颜色渐变、倾斜文字,点击菜单项将显示各个功能。
, 文字镂空:在对话框中显示一串字符,字符中间镂空显示。
, 文字旋转:在对话框中显示一串字符,字符循环旋转,并实现空间。
视觉效果,且当前字符显示红色,其余字符显示蓝色。
, 颜色渐变:在对话框中显示一串字符,并整体实现颜色渐变。
, 倾斜文字:在对话框中旋转循环显示字体,每个字符串角度相差15度,围成一个圈。
2.2 界面效果显示:,4,2.3 文字处理功能结构图:文字处理镂空文字文字旋转颜色渐变倾斜文字3、绘图工具3.1 绘图工具实现功能如下:, 画点, 画线, 画椭圆, 画矩形,矩形内部用渐变颜色填充, 涂鸦, 设置画图的线型、线宽, 设置画图线条的颜色,5,3.2 功能界面效果显示,6,3.3 绘图工具功能结构图: 点线绘椭圆图矩形绘图涂鸦工具设置线型设置设置线宽设置颜色4、图像处理4.1 图像处理实现功能如下: , 从本地磁盘打开.bmp文件, 图片去色, 浮雕效果, 颜色拾取, 轮廓识别, 对称变换, 颜色取反,7,4.2 功能界面效果显示,8,,9,4.3图像处理功能结构图:图像处理图像内容浏览颜色浏览特效变换打开内容内容内容内容内容5、音频视频播放5.1音频视频功能实现:, 从本地磁盘添加音频视频文件, 双击播放音频视频文件, 点击播放按钮播放文件, 点击上一个、下一个选择当前文件的上一个、下一个文件5.2 功能界面显示,10,5.3 音频视频播放功能结构图:音频视频播放控制添加文件上一个下一个播放,11,二、相关原理知识介绍1、文字处理1.1文字处理的基本知识Windows使用了两种主要字体:一种是等宽字体,一种是可变宽字体。
同时Windows又定义了三种不同类型的字体:光栅字体(设备相关的点阵图字体)、矢量字体(设备无关的由一系列线段构成的字体)、TrueType字体(设备无关的用线条和样条曲线来定义轮廓的字体),其中TrueType字体可以在进行任何限度的缩放后,而仍然保持良好的字体质量。
此外,还有OpenType字体,它也是设备无关的,可以用来定义手写字体。
无论哪种字体,在Windows系统中都是使用TEXTMERIC和LOGFONT两个结构来进行描述的。
在应用中通过这两个结构来获取字体信息,定义显示文字所需要的字体。
1.2文本输出函数函数名功能用当前字体在指定位置处写一个字符串 TextOut用当前字体在矩形区域内写一个字符串 ExTextOut在指定位置写一个字符串 TabbedTextOut在指定矩形中绘制格式化的文本 DrawText1.3 文字处理的基本步骤1)获取设备环境(CDC* pDC)2)设置系统字体----默认字体----得到当前的字体(部分)信息,以该信息输出-----创建自定义字体,选入设备环境3)输出文本 (文本输出函数)1.4、设置系统字体的步骤1)创建字体对象:CFont font; // font为字体对象2)创建字体CreateFont()CreatePointFontCreateFontIndirect()CreateFontFontIndirect()3) 调用成员函数SelectObject将字体选入设备环境: SelectObject(&font);1.5、控制文本的背景色在设备描述中有两项可以影响背景,一个是背景色,另一个是背景模式。
背景模式可以为透明的(Transparent)或不透明的(Opaque)。
缺省为不透明的。
背景模式可用函数SetBkMode来设置,它设置当前的背景模式并返回原来的背景模式。
函数原型为:int SetBkMode(int nBkMode);参数nBkMode指定背景模式,其值可以是OPAQUE或者TRANSPARENT;如果值为OPAQUE,则显示时背景都改为当前背景颜色。
如果值为TRANSPARENT,则不改变背景颜色,此时,任何SetBkColor函数调用都无效,12,2、简单绘图工具2.1 绘图的基本方法实现简单图形的绘制,绘图功能中,有绘制直线、矩形、椭圆、涂鸦等。
用到的方法如下:CPoint MoveTo(int x,int y); //直线起点CPoint LineTo(int x,int y); //直线终点BOOL Rectangle(int x1,int y1,int x2,int y2); //绘制矩形BOOL Ellipse(int x1,int y1,int x2,int y2); //绘制椭圆涂鸦部分,以鼠标移动的轨迹画线。
同样要用到MouseMove()函数。
使起点为鼠标前一个位置,终点为鼠标当前位置,以画直线的方式完成。
对于线型、线宽、颜色的设置,通过使用颜色通用对话框完成。
2.2 绘图时需要用到的设备环境类介绍设备环境类CDC提供了绘制和打印的全部函数。
为了能让用户使用一些特殊的设备环境,CDC还派生了CPaintDC、CClientDC、CWindowDC和CMetaFileDC类。
(1)CPaintDC比较特殊,它的构造函数和析构函数都是针对OnPaint进行的,但用户一旦获得相关的CDC指针,就可以将它当成任何设备环境(包括屏幕、打印机)指针来使用。
CPaintDC类的构造函数会自动调用BeginPaint,而它的析构函数则会自动调用EndPaint。
(2)CClientDC只能在窗口的客户区(不包括边框、标题栏、菜单栏以及状态栏)中进行绘图,点(0,0)通常指的是客户区的左上角。
而CWindowDC允许在窗口的任意位置中进行绘图,点(0,0)指整个窗口的左上角。
CWindowDC和CClientDC构造函数分别调用GetWindowDC和GetDC,但它们的析构函数都是调用ReleaseDC函数2.3 CRect 类常用的成员函数成员函数功能说明int Width( ) const; 返回矩形的宽度返回矩形的高度 int Height( ) const;返回矩形的大小,CSize中的cx和cy成员分别表示矩CSize Size( ) const; 形的宽度和高度返回矩形左下角的点坐标 CPoint& TopLeft( );返回矩形右下角的点坐标 CPoint& BottomRight( );返回CRect的中点坐标 CPoint CenterPoint( ) const;如果一个矩形的宽度或高度是0或负值,则称这个矩形BOOL IsRectEmpty() const; 为空,返回TRUE如果一个矩形的上、左、下和右边的值都等于0,则返BOOL IsRectNull() const; 回TRUE如果点point位于矩形中(包括点在矩形的边上),则返BOOL PtInRect( POINT point )回TRUE const;将矩形的各边设为指定的值,左上角点为(x1, y1),右下void SetRect( int x1, int y1, int角点为(x2, y2) x2, int y2 );将矩形的所有坐标设置为零 void SetRectEmpty();使矩形符合规范 void NormalizeRect( );void OffsetRect( int x, int y ); 移动矩形,水平和垂直移动量分别由x、y或point、sizevoid OffsetRect( POINT point ); 的两个成员来指定 void OffsetRect( SIZE size );,13,2.4、画笔和画刷画笔是Windows应用程序中用来绘制各种直线和曲线的一种图形工具,它可分为修饰画笔和几何画笔两种类型。
在这两种类型中,几何画笔的定义最复杂,它不但有修饰画笔的属性,而且还跟画刷的样式、阴影线类型有关,通常用在对绘图有较高要求的场合。
而修饰画笔只有简单的几种属性,通常用在简单的直线和曲线等场合。
一个修饰画笔通常具有宽度、风格和颜色三种属性。
画笔的宽度用来确定所画的线条宽度,它是用设备单位表示的。
默认的画笔宽度是一个像素单位。
画笔的颜色确定了所画的线条颜色。
画笔的风格确定了所绘图形的线型,它通常有实线、虚线、点线、点划线、双点划线、不可见线和内框线等七种风格。
画刷用于指定填充的特性,许多窗口、控件以及其他区域都需要用画刷进行填充绘制,它比画笔的内容更加丰富。
画刷的属性通常包括填充色、填充图案和填充样式三种。
画刷的填充色和画笔颜色一样,都是使用COLORREF颜色类型,画刷的填充图案通常是用户定义的8 x 8位图,而填充样式往往是CDC内部定义的一些特性,它们都是以HS_为前缀的标识。
3、图像处理3.1、使用的CDC类的位图函数来输出图像。
BOOL StretchBit(int x,int y,int nWidth,int nHeight,CDC* pSrcDC,int xSrc,int ySrc,int nSrcWidth,intnSrcHeight,DWORD dwRop);x,y :表示目标矩形区域左上角的x,y坐标点;nWidth,nHeight:表示目标设备中绘制位图的宽度和高度;pSrcDC :表示源设备上下文对象指针;xSrc,ySrc:表示源设备上下文的起点x,y轴坐标;nSrcWidth,nSrcHeight:表示需要复制的位图宽度和高度;dwRop:表示光栅操作代码。
COLORREF GetPixel( int x, int y ) const; //返回坐标点的颜色值。
COLORREF SetPixel( int x, int y, COLORREF crColor ); //设置的颜色值BYTE GetRValue(DWORD rgb ); //获取一个颜色值的RGB各个分量:BYTE GetGValue(DWORD rgb );BYTE GetBValue(DWORD rgb );3.2、获取鼠标位置的颜色值获取某一点的颜色只要得到当前鼠标的设备环境CDC类对象即可,因为调用CDC类的GetPixel方法可获取某一点的颜色值。