ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:63.06KB ,
资源ID:6063775      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6063775.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图形图像程序设计知识要点总复习.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图形图像程序设计知识要点总复习.docx

1、图形图像程序设计知识要点总复习图形图像程序设计复习要点1、掌握.NET Framework的基本组成.NET是微软公司针对当前商业应用软件开发所推出的一个体系平台,与Sun公司所推出的J2EE体系平台一样,都是为了适应企业的信息化建设而提供的一整套技术解决方案。.NET的核心部分是.NET Framework,它提供了建立和运行.NET应用程序的核心服务。.NET Framework从2002年的1.0版,2003年的1.1版,2005年的2.0版,发展到现在的4.0版。.NET Framework 的核心组成部分是FCL(Foundation Class Library,基础类库)和CLR(

2、Common Language Runtime,公共语言运行时),其中前者给应用程序提供了功能强大的基础函数类库,后者给.NET应用程序提供了一个安全、高效的运行环境。在.NET下,可以采用VB.NET,J#,C#,C+.NET等多种程序语言进行程序设计,这些语言之间可以互相调用和操作,这主要是因为所有的程序都运行在CLR之上,各种语言编译器在进行编译时,只是将高级语言编译成一种类似机器汇编语言一样的MSIL(微软中间语言代码),在真正执行时,还要调用其JIT(即时编译器)将MSIL再次编译成Native Code(本地机代码)。正是缘于这种机制,使得.NET应用程序可以跨语言跨平台互操作。2

3、、掌握开发C#应用程序的一般步骤开发.NET应用程序可以采用Visual Studio.NET这个集成开发工具(IDE)来进行。在众多的.NET应用程序开发语言中,C#是针对.NET量身定做的一种语言,该语言即具备了C/C+的语法简捷性,又具备了像JAVA一样的类型安全,而且,.NET所提供的大多数FCL都是采用C#编写的,因此,如果采用.NET作为应用程序的开发平台,则首选C#作为开发语言。选择C#作为开发语言开发.NET应用程序的基本步骤是:(1)使用using引入我们所需要使用的命名空间(2)使用namespace来定义用户自己的命名空间(3)使用class来定义类(4)在类中定义各种类

4、成员,如定义成员变量和成员函数(方法) 在应用程序中,有且只能有一个Main方法被定义,它是整个应用程序的入口,它的定义体一般如下: Public static void Main(string args ) 语句体 (5)保存文件,以.CS结尾(6)编译成MSIL程序集文件 凡是程序中定义了Main方法的程序集,在编译时方可编译成可执行的应用程序集文件,其扩展名为*.EXE,凡是没有Main方法的程序集,一般被编译成动态链接库文件(*.dll)。 csc FileName -编译命令 csc /target:exe -编译成可执行文件 csc /target:dll -编译成动态链接库文件

5、csc /reference:*.dll|*.exe 链接其他Dll文件(7)在安装有.NET Framework的计算机上运行 3、了解C#的主要数据类型计算机的主要工作就是处理各种数据类型,.NET是一个通用类型系统(CTS),C#所能处理的数据类型从大的方面讲包括两大类型:数值型和引用型。C#的值类型和引用型之间可以相互转换,将数值类型的变量隐式转换成Object对象类型变量称之为装箱(box),反之,将Object对象类型显示转换成数值类型称之为拆箱(unbox)。请记住各种数据类型所占据的字节数和所能表示的数值范围。类型 范围 大小 sbyte -128 到 127有符号 8 位整数

6、byte 0 到 255无符号 8 位整数char U+0000 到 U+ffff16 位 Unicode 字符short -32,768 到 32,767有符号 16 位整数ushort 0 到 65,535无符号 16 位整数int -2,147,483,648 到 2,147,483,647有符号 32 位整数uint 0 到 4,294,967,295无符号 32 位整数long -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807有符号 64 位整数ulong 0 到 18,446,744,073,709,551,615无符号

7、64 位整数4、掌握基本的运算法则请复习最基本的赋值、算术运算、关系运算、逻辑运算和位运算的运算法则,并搞清楚每种运算的优先级如,Int x=3,y=2,z=5, 则表达式y+=z-/+x的值为 3 。int x=10; x+=x-=5; 则x的值为 10 。int a=5,b=2; int c=a/+b; 则 c的值为 1 。int a=7; 则经表达式a=a+-a 运算后,a的值为: 14 5、掌握数组的定义和使用一维数组的定义和初始化:(1) 定义:格式: 数据类型 数组名;数据类型可以是值类型也可以是引用型;Int arr;/定义了一个名为arr的整型数组Decimal dArr; /

8、定义了一个名为dArr的实数型组Arr0=1 /错误,必须先初始化(2) 初始化初始化分两种,一种静态初始化,一种是动态初始化.如果数组元素不多,且初始元素值是已知的,可以采用静态初始化,静态初始化必须与数组定义结合在一起,否则编译出错.格式如下:数据类型 数组名=元素1,元素2,元素nInt a=32,45,67,65 /定义一有4个元素的整型数组a,同时给每个数组元素赋值A1=45A4=越界,/注意数组下标是从0开始动态初始化:首先使用new关键字将数组实例化为一个对象,再为该数组 对象分配内存空间。接着需要为该数组中的每一个数组元素赋 初始值(一般是采用循环的方式来赋值).int b;

9、/定义数组bB=new int6; /为数组b在内存中分配6*4=24个字节的存储空间,每个数组元 素被初始化为0for(int i=0;i6;i+)- for(int i=0;ib.Length;i+)Bi=对于循环终止的条件,即数组元素的个数,一般可以使用数组对象的一个属性Length来获取也可以采用另外一些静态初始化的方式int c=new int1,3,5,7 定义和初始化以及赋值放在一条语句来完成.int c=new int41,3,5,7 正确int c=new int51,3,5,7 错误 int n; n=int.Parse(Cosole.ReadLine();int a=ne

10、w intn; 可以 利用动态初始化动态修改数组的长度,如;Int x=new int5;/定义一个具有五个元素的数组xInt n=10;X=new intn; /将重新分配内存,数组的长度变为106、类的及其成员定义(1) OOP的基本特征是封装、继承和多态(2) 类定义了一个“模板”,通过这个“模板”可以生成一个或多个对象。实例化就是由类创建对象的过程,一般使用new关键字来创建(3) 类中的静态(static)中的成员不属于任何对象,它可以通过类名直接访问,但实例成员必须通过建立对象的引用来访问,静态方法只能访问类中的静态成员,而实例方法可以访问类中的所有成员。(4) 构造函数是指函数名

11、与类名相同,在实例化对象时被自动调用的特殊函数。(5) 当方法的参数前带有params 关键字,这就是一个带数组型参数的方法。在方法的参数列表中使用params关键字,可用于表示方法的形参个数不确定,这样就可以在使用方法的过程中改变传入方法的实参个数。带有关键字params的数组型参数必须是方法的参数列表中最后一个参数,否则会出现编译错误。数组型参数中的数组必须是一维数组类型,如int,string(锯齿型数组),但int,二维数组则不能用来作为数组参数。(6)类的属性有两种存取器,一个是Get,用来读,一个是Set,用来写(7)类的索引器主要是使用对象名像数组名一样用下标来索引封装在类内部的

12、数据成员(8)运算符重载时要注意,如果重载关系运算符时,重载其中一个(如“=”),还必须重载另外一个,(如“!=”)。在重载运算符时,有两个修饰符public 和 static是必须的。(9) 通过this关键字,可以引用类的当前对象实例,通过base关键字,可以引用其基类(父类)对象7、继承与多态C#中的继承符合下列规则:(1) 继承是可传递的。如果C从B中派生(C:B),B又从A中派生(B:A),那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object 类是所有类的基类,任何类总是直接或者间接从该类派生;(2) 派生类应当是对基类的扩展。派生类可以添加新的成员,但不能除去已经继

13、承的成员的定义。(3) 构造函数和析构函数不能被继承。(4) 派生类如果定义了与继承而来的成员同名的新成员,就可以覆盖已继承的成员。但这并不因为这派生类删除了这些成员,只是不能再访问这些成员。(5) 类可以定义虚方法、虚属性以及虚索引指示器(用virtual关键字修饰),它的派生类能够重载这些成员(用override关键字修饰),从而实现类可以展示出多态性。(6) 派生类只能从一个类中继承,但可以继承实现多个接口。(7) 可以通过base 关键字访问基类的成员,通过this访问当前类对象的成员;(8) 在一个派生类的对象被实例化之前,基类的构造函数必须首先被显式或隐式地调用,来完成在派生类对象

14、中任何基类实例变量所需的初始化。8、类的多态机制(1) 方法重载:在同一个类中,存在多个方法名相同,参数列表不同,返回值可以相同,也可以不同的同名方法(2) 实现虚成员重载的C#语言编程架构是: 先在基类中用Virtual修饰符定义虚成员。虚成员可以是类的方法、属性和索引等,不能是域或私有变量。定义虚成员与定义普通成员的格式是一样的,只是另加修饰符Virtual即可。 在派生类中用Override修饰符重新定义与基类同名的覆盖成员,并根据需要重新定义基类中虚成员的代码,以满足不同类的对象的使用需求。 在调用时,通过构造基类的引用变量,让其指向不同的子类对象,从而调用不同子类的成员(3)abst

15、ract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化抽象成员的定义: 如果在一个类中,只要存在一个抽象成员,则这个类就必须声明为抽象类,抽象类是不能被实例化的抽象类中抽象成员是不能够有具体实现代码的,如: 抽象方法的定义:public abstract 返回值类型 方法名(形参列表); 抽象方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 抽象属性的定义:public abstract 返回值类型 属性名 get; set; 抽象方法由它的继承子类去实现,其子类方法名前应该加上override去重载.(4)密封类在声明中使用sealed

16、 修饰符,这样就可以防止该类被其它类继承,也即该类不能够再有派生类。9、接口接口(interface)用来定义一种程序的协定,实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制。从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。因此接口成员与抽象成员一样,只是一个成员的型的定义,而不能提供任何实现代码。接口中所有成员默认都是public级别的访问权限 接口与抽象类一样,也可以用来实现多态机制。10、代理的使用使用代理的一般步骤:(1)定义一个代理 修饰符 delegate 返回值类型 代理名(参数列表) 返回值类

17、型必须与所要代理的方法的返回值保持一致,参数列表也要保持一致(2) 代理的实例化 所谓代理实例化,就是使用new关键字,将代理与某一个方法进行绑定,产生一个代理实例(3)代理实例的调用 通过代理实例名来进行方法的匿名调用补充:在第二步中,在产生代理实例时,需要给定一个方法参数,或者给定另外一个代理实例,如果方法是一个静态方法,可以使用类名.方法名给出,如果是一个实例方法,则需要使用对象名.方法名给出.代理的多播调用:所谓代理的多播调用,是指把若干个代理实例组合在一起构成一个代理链表,通过代理链表上第一个代理实例的调用,将会调用代理链表上所有被代理的方法.如何构建一个代理链表:(1)首先创建代理

18、链表中的第一个代理实例(2)通过+=运算符,把其他代理实例添加到代理链表中来,也可以使用-=运算符,把某一个代理实例从代理链表中删除(3)被添加到代理链表中的所有方法,必须是返回值为void,具有相同的参数列表,如果被代理的方法返回值不为void,则多播调用后的返回值为代理链表上最后一个方法的返回值11、异常处理(1) 掌握异常处理的基本结构和发生异常后的程序流程 try catch(异常类型1 e1) catch(异常类型2 e2) catch(异常根类e) finally 最终执行的代码 (2)在多个catch捕捉块中,必须保证异常子类在前,父类在后(3)异常总是直接或者间接从异常基类Ex

19、ception派生的12、Windows编程(1)编写Windows应用程序,必须引入的名称空间是: System.Windows.Forms. 只要定义一个类继承于System.Windows.Forms命名空间下的窗体类(Form),然后在Main方法中通过Application.Run方法调用该窗体类的实例即可。(2) Windows 窗体的应用程序编程模型主要由窗体、控件及其事件组成。(3) 每个事件有两个支持类: 用于注册事件处理方法的 EventHandler 委托类。EventHandler 的签名指示事件处理方法的签名。 包含有关引发的事件的数据的 EventArgs 类。13

20、. 泛型概述泛型是.NET 2.0以后新增加的一个语言点。NET Framework 泛型是在.NET Framework 2.0的公共语言运行库(CLR)中的增加的一项新功能,类似于C+的模板,但不如C+的模板灵活,不过也有一些自己的特性。泛型为.NET Framework引入了类型参数的概念,这样便可以设计出这样的类和方法:它们把指定类型的工作推迟到客户端代码声明并实例化类或方法的时候执行。比如,通过泛型类型参数T,程序员就可以编写其它客户端代码能够使用的单个类,而不用担心强制转换或装箱操作而带来的额外的运行成本或风险。在泛型类型定义中,类型参数实际上并不是特定类型,而只是类型占位符。.N

21、ET Framework2.0 版本库提供一个新的命名空间System.Collections.Generic,其中包含若干基于泛型的集合类。如果需要限定该泛型类形参仅支持某些特定类型,则可以使用上下文关键字where定义泛型参数的约束。14.多线程程序设计使用Thread类创建和管理线程对象 在.NET下,创建和管理多线程程序,主要使用封装在System.Threading名称空间下的类和接口,因此,一般先引用:using System.Threading; 其中, Thread类是Threading名称空间下创建和管理线程对象最重要的一个类 通过Thread类创建一个线程对象,如下所示:u

22、sing Sytem.Threading;/(1)先定义一个无返回值,无参数的线程方法 public void ThreadMethod() /(2) 再定义一个线程委托对象, 注册一个线程方法 ThreadStart TDelegate; TDelegate =new ThreadStart(ThreadMethod);/(3) 创建一个Thread线程对象,将线程委托作为参数 Thread的构造方法需要一个参数,用于指定线程的入口即线程开始执行的方法 Thread NewThread=new Thread(TDelegate);/(4)启动线程对象 线程创建后,并未获得系统资源。调用Sta

23、rt()方法启动线程,即给线程分配除处理器之外的系统资源并执行各种安全性检查。 NewThread.Start();15、GDI绘图1 GDI+的概念 GDI+是GDI(Graphics Device Interface,图形设备接口)的改进产品。GDI+的绘图命名空间 用户所使有的GDI+函数都保存在System.Drawing.d11程序集中。其中包括System.Drawing、System.Drawing.Text、System.Drawing.Printing、System.Drawing.Imaging、System.Drawing.Drawing2D和System.Drawing

24、.Design等命名空间。 图形设计过程一般分为两步:1. 创建Graphics 对象;2. 使用 Graphics 的方法绘图、显示文本或处理图像。2、创建 Graphics 对象的方法: (1)利用窗体或控件的 Paint 事件中 PaintEventArgs建立图形对象的引用。例如: void Form1_Paint(object sender, PaintEventArgs e) Graphics g = e.Graphics; (2)利用窗体或某个控件的 CreateGraphics 方法建立 Graphics 对象的引用,所建对象是该控件或窗体的绘图区域。例如: Graphics

25、g=this.CreateGraphics(); (3)利用Graphics类的FromImage静态方法建立Graphics对象。例如: Image img=Image.FromFile(“g1.jpg”); Graphics g=Graphics.FromImage(img); 3、创建画笔画笔用于绘制线条、勾勒形状轮廓或呈现其他几何表示形式。 用Pen类创建画笔对象。画笔通常具有宽度、样式和颜色三种属性。 (1)创建画笔对象 Pen pen1=new Pen(Color.Green) (2)画笔对象的属性 名称说明Color设置画笔对象的颜色。DashCap设置用在点划线终点样式。Das

26、hStyle设置画笔绘制的虚线的线型。EndCap设置画笔绘制的直线终点的样式。PenType获取画笔绘制的直线的样式。StartCap设置画笔绘制的直线起点的样式。Width设置画笔的宽度。4 创建画刷画刷用于填充图形内部。用Brush类创建画刷。常用的有下面几种画刷(1)单色画刷(SolidBrush)将某一特定区域填入单一的颜色。 SolidBrush类属于System.Drawing.Drawing2D名称空间。构造函数:SolidBrush(Color.Color);例如:SolidBrush bh1 = new SolidBrush(Color.Red)(2)阴影画刷(HatchB

27、rush)阴影画刷有两种颜色:前景色和背景色,有6种阴影。前景色定义线条的颜色;背景色定义各线条之间间隙的颜色。HatchBrush类在System.Drawing.Drawing2D名称空间。构造函数:HatchBrush(HatchStyle,Color forecolor);HatchBrush(HatchStyle,Color forecolor,Color backcolor);例如:HatchBrush bb1=new HatchBrush( HatchStyle.Cross,Color.Red);建立一个前景色为红色、样式为十字交叉的画刷。(3)渐变画刷(GradientBrus

28、h)用于在某一个特定的区域内产生渐变效果。常见的渐变效果是由两个颜色逐渐变化而来的。 LinearGradientBrush显示线性渐变效果。 构造函数:LinearGradientBrush(Point point1, Point point2, Color color1, Color color2);参数意义为:point1:线性渐变起始点的 Point 结构。 point2:线性渐变终结点的 Point 结构。color1:线性渐变起始色的 Color 结构。 color2:线性渐变结束色的 Color 结构。 16、文件操作与I/O流(1) 文件是指在各种存储介质上永久存储的数据的集合

29、,它是进行数据读写操作的基本对象。流是字节序列的抽象概念。 一般来说,对流的操作有三类,如下:1)读取 2)写入 3)定位 (2) 掌握与文件和流操作相关的类及其继承关系(不做考察)17、ADO.NET对象(1) .NET Framework数据提供程序: SQL Server .NET数据提供程序,封装在System.Data.SqlClient命名空间下 OLE DB .NET数据提供程序,封装在System.Data.OleDb命名空间下 .NET数据提供程序提供了四个核心对象,分别是Connection、Command、DataReader和DataAdapter 对象。 (2) .N

30、ET访问数据库的一般步骤 根据使用的数据源,确定使用的.NET Framework数据提供程序; 建立与数据源的连接,需使用Connection对象; 执行对数据源的操作命令,通常是SQL命令,需使用Command对象; 使用数据集对获得的数据进行操作,需使用DataReader、DataSet等对象; 向用户显示数据,需使用数据控件。 (3) 示例程序 string sqlStr=Data Source=(local);Integrated Security=SSPI;Initial Catalog=MyStudentDB; /通过连接字符串实例化连接对象 SqlConnection myCon=new SqlConnection(sqlStr); /打开数据库连接 myCon.Open(); /通过指定的Sql命令,创建一个SqlDataAdapter对象 SqlDataAdapter sda=new SqlDataAdapter(Sele

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1