n位2n种颜色的位图近似字节数可以用下面的公式计算:BMP文件大小约等于 54+4*2的n次方+(w*h*n)/8,其中高度和宽度都是像素数。需要注意的是上面公式中的54是位图文件的文件头,是彩色调色板的大小。另外需要注意的是这是一个近似值,对于n位的位图图像来说,尽管可能有最多2n中颜色,一个特定的图像可能并不会使用这些所有的颜色。由于彩色调色板仅仅定义了图像所用的颜色,所以实际的彩色调色板将小于。如果想知道这些值是如何得到的,请参考下面文件格式的部分。由于存储算法本身决定的因素,根据几个图像参数的不同计算出的大小与实际的文件大小将会有一些细小的差别。
C#语言基础
本课题所采用的语言为C#(C sharp)这一高级语言来实现。
C#是微软公司所开发的一种面向对象,且运行于.NET Framework之上的高级程序设计语言。C#看似基于C++写成,但又融入其他语言如Delphi、java、VisualBasic等。
面向对象的C#语言
微软公司开发C#的初衷及C#的特点如下。
C#旨在设计成为一种简单、现代、通用以及面向对象的程序设计语言。
C#语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组文数检查、未初始化的变量引用检测、自动垃圾收集(一种自动内存释放技术),软件必须做到强大、持久,并具有较强的编程能力。
C#语言应在分布式环境中的开发提供适用的组件开发应用。
为使程序员容易迁移到C#语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。
对国际化的支持非常重要。
C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
虽然C#程序在存储和操作能力需求方面具备经济性,但此种语言并不能在性能和尺寸方面与C语言或汇编语言相抗衡。
相对于C和C++,C#在许多方面进行了限制和增强。
指针只能被用于不安全模式,大多数对象访问通过安全的引用实现,以避免无效的调用,并且有许多算法用于验证溢出,指针只能用于调用值类型以及受垃圾收集控制的托管对象。
对象不能被显式释放,而是当不存在被引用时用过垃圾回收器回收。
只允许单一继承,但是一个类可以实现多个接口。
C#比C++更加类型安全,默认的安全转换是隐含转换,例如由短整型转换为长整型和从派生类转换为基类,而接口同整型,及枚举型同整型不允许隐含转换,非空指针(通过引用相似对象)同用户定义类型的隐含转换必需被显式地确定,不同于C++的复制构造函数。
数组声明语法不同。
枚举位于其所在的命名空间中。
C#中没有模板,但是在C#2.0中引入了泛型,并且支持一些C++模板不支持的特性,比如泛型参数中的类型约束,另一方面,表达式不能像C++模板中被用于类型参数。
属性支持,使用类似访问成员的方式调用。
完整的反射支持。
C#的图像处理基础
C#并不被编译成为能够直接在计算机上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机(被称之为通用语言运行时)执行。所有的.NET编程语言都被编译成这种被称为MSIL的中间代码。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。但是实际上,如果计算机上没有安装.NET Framework,那么这些程序将不能被执行。在程序执行时,.NET Framework 将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。这样如果一个.NET程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。
- 上一篇:JSP网上书店销售管理系统的设计与开发
- 下一篇:C#物流管理系统财务管理和营销管理设计
-
-
-
-
-
-
-
乳业同业并购式全产业链...
杂拟谷盗体内共生菌沃尔...
河岸冲刷和泥沙淤积的监测国内外研究现状
十二层带中心支撑钢结构...
酸性水汽提装置总汽提塔设计+CAD图纸
大众媒体对公共政策制定的影响
java+mysql车辆管理系统的设计+源代码
中考体育项目与体育教学合理结合的研究
电站锅炉暖风器设计任务书
当代大学生慈善意识研究+文献综述