C#图像的缩放与旋转处理程序设计(7)
时间:2017-05-17 17:09 来源:毕业论文 作者:毕业论文 点击:次
C#并不被编译成为能够直接在计算机上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机(被称之为通用语言运行时)执行。所有的.NET编程语言都被编译成这种被称为MSIL的中间代码。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。但是实际上,如果计算机上没有安装.NET Framework,那么这些程序将不能被执行。在程序执行时,,NET Framework 将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.NET程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。 C#的图像处理基础 WinForm编程 WinForm是.NET开发平台中对Windows Form的一种称谓。.NET为开发WinForm的应用程序提供了丰富的类库。这些WinForm类库支持RAD(快速应用程序开发),它们被封装在一个命名空间中,这个命名空间就是System.Windows.Form。在该命名空间中定义了许多类,在开发基于.NET的GUI应用程序的时候,就是通过继承和扩展这些类才使得程序有着多样的用户界面。一个典型的Windows窗体应用程序至少应该包含一个窗体。WinForm应用程序中通常有一个窗体作为主窗体,它是该应用程序生命期内可能显示的其他窗体的父窗体或所有者,主要菜单、工具栏、状态栏等都显示于该窗体。当主窗体被关闭时,程序应该随即退出。 GDI+ GDI+是与.NET Framework中的图像设备接口进行交互的入口。它使程序开发人员可以编写出与设备无关的受控制应用程序,它的设计目的是要提供较高的性能、方便的使用以及对多语言的支持。如果要编写与监视器、打印机或文件等图形设备进行交互的.NET应用程序,那么必须使用GDI+。 GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候,无需考虑具体显示设别的细节,他们只需要调用GDI+库输出的类的一些方法即可完成图像操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+是的图形硬件和应用程序相互隔离,从而使开发人员编写与设备无关的应用程序变得非常容易。 图像的缩放和旋转原理与算法 图像的缩放和旋转均需要依靠坐标的定位来完成,以图像的几何中心为坐标原点,x轴从左向右递增,y轴由上至下递增。因此,在进行图像旋转时,是以图像的几何中心为基准进行旋转的;在进行图像缩放时,也是以图像的几何中心为基准进行,其上下左右均等地向内收缩或向外扩大的。这种坐标转换会使图像变换更自然。 数字图像原理与算法 数字图像也用于表示在一个三文空间分布点的数据,例如计算机断层扫描设备生成的图像,在这种情况下,每个数据都称作一个体素。 图像是与之对应的景物的一个表示,一幅空间三文的、动态的图像可以定义为 I=f(x,y,z,t) (2.1) 式中,x,y,z是空间变量;t是时间变量。在实际应用中,图像可以借助不同的方式来获得。目前普遍采用的一种方式是利用一定电磁能量谱波段内的电磁波来成像,可从可见光扩展到其他频段,在低频端,有红外线、微波等;在高频端,有紫外光、X光、r射线、宇宙射线等。如红外成像是利用物体自然发射的红外辐射或运用不同物体对红外辐射的不同反射率进行成像。此时图像可以用式(1. 2)表示为 (责任编辑:qin) |