基于VC++PNG 按钮的实现
荀康生
【摘 要】 : 本文先介绍VC++ 编程的优势,接着详细介绍GDI+ , GDI+ 是Windows XP 中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++ 类实现的应用程序编程接口。作为图形设备接口的GDI+ 使得应用程序开发人员在输出屏幕和打印机信息的时候只需调用GDI+ 库输出的类的一些方法即可完成图形操作。 GDI+ 使得图形硬件和应用程序相互隔离,从而使开发人员编写设备无关的应用程序变得非常容易。在此基础上,详细阐述了在Windows 境下利用VC++ 进行PNG 按钮的实现,并详细介绍了在MFC 下实现PNG 实例的代码。
【关键词】: GDI+ ; PNG ; VC++ ; MFC
Based on VC + + PNG button to achieve
【 Abstract 】 : This article introduced the first VC + + programming strengths, followed by details of GDI +, GDI + is a Windows XP system, which is mainly responsible for the display screen and print output device-related information, it is through a set of C + + Class The realization of the Application Programming Interface. As the Graphics Device Interface GDI + allows application developers in the output screen and printer information only when called GDI + library output of some kind of method to complete the graphics operations. GDI + makes graphics hardware and applications that isolation with each other, so that the device-independent developers to write applications very easily. On this basis, detailed in the territory under Windows using VC + + for the realization of the PNG button, and details of MFC in PNG under the code examples.
【 Key words 】 : GDI +; PNG; VC + +; MFC
一、 VC++ 的优势
Visual C++ 是一个功能强大的可视化应用程序开发工具,用于 Windows 环境下 32 位的应用程序的开发,是计算机世界公认的最优秀的应用开发工具之一。在 Visual C++ 环境下,利用 Microsoft 的基本类库 MFC ,可以使用完全的面向对象的方法来进行 Windows 95/98/NT 应用程序的开发,使得 Windows 程序员从大量的复杂劳动中解救出来,体会到真正的程序语言的强大功能和良好的灵活性。
Visual C++ 的优势有以下几点:
( 一) 面向对象的程序设计方法的使用
Visual C++ 编程是采用了面向对象的程序设计方法,面向对象的程序设计吸取了结构化程序设计的精华,他利用了人们根据对事物分类和抽象的倾向,引入了类和对象的概念,具有封装性、继承和多态的特点。
( 二) 强大的MFC 优势
MFC 以 Visual C++ 形式封装了大部分的 Windows API 来表示框架、窗口、对话框、设备上下文、公共 GDI 对象和其他标准的 Windows 部件。这些类提供了一个面向 Windows 结构的简单的 C++ 成员函数的接口。
应用 MFC 编程有下列优点:
1 MFC 提供了一个标准化的结构,提高了程序开发的效率。
2 类库中的各种对象所提供的强大功能可以完成程序中的绝大部分所需功能,使应用程序在功能和性能 2 个方面满足要求。
3 MFC 完全支持 Windows 所有的函数、控件、消息、 GDI 基本图形函数、菜单及对话框。
4 使用 MFC 易学易用,开发出的应用程序具有标准的、熟悉的 Windows 界面,还支持所有标准 Windows 特性。 MFC 类库的可靠性很高,不会影响所开发程序的可靠性和正确性。
总之,利用 MFC 还可以方便地调用 Windows 中与多媒体有关的 API 函数,可以方便快捷地开发多媒体应用程序,节省大量重复时间,缩短开发周期。 [4]
( 三) 丰富的技术资源
Visual C++ 中集成了大量的最新技术,如 ActiveX , COM 等技术。
二、利用图形设备接口(GDI+ )的编程特点
( 一) 什么是GDI+[4]
GDI+ 是 Windows XP 中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过 C++ 类实现的应用程序编程接口。作为图形设备接口的 GDI+ 使得应用程序开发人员在输出屏幕和打印机信息的时候只需调用 GDI+ 库输出的类的一些方法即可完成图形操作 , 真正的绘图工作由这些方法交给特定的设备驱动程序来完成 ,GDI+ 使得图形硬件和应用程序相互隔离,从而使开发人员编写设备无关的应用程序变得非常容易。 [4]
( 二)GDI+ 新增功能[1]
1 渐变的画刷
GDI+ 允许用户创建一个沿路径或直线渐变的画刷 , 来填充外形 , 路径和区域 , 渐变画刷同样也可以画直线、曲线、路径,当你用一个线形画刷填充一个外形时,颜色就能够沿外形逐渐变化。
2 基数样条函数
GDI +支持基数样条函数。基数样条是一组单个曲线按照一定的顺序连接而成的一条较大曲线,样条由一系列点指定,并通过每一个指定的点。由于基数样条平滑地穿过组中的每一个点(不出现尖角),因而它比用直线连接创建的路径更精确。
3 持久路径对象
在 GDI+ 中,绘图工作由 Graphics 对象来完成,你可以创建几个与 Graphics 分开的路径对象,绘图操作时路径对象不被破环,这样你就可以多次使用同一个路径对象画路径了。
4 变形和矩阵对象
GDI+ 提供了矩阵对象,一个非常强大的工具,使得编写图形的旋转、平移、缩放代码变得非常容易。
5 可伸缩区域
GDI+ 用世界坐标存储区域 (Regions), 允许对区域进行任何图形变换(譬如如图所示的缩放),图形变换以变换矩阵存储。
6 多种图像格式支持 .
GDI +除了支持 BMP 等 GDI 支持的图形格式外,还支持 JPEG ( Joint Photographic Experts Group )、 GIF ( Graphics Interchange Format )、 PNG ( Exchangeable Image File )、 TIFF ( Tag Image File Format )等图像格式
7 其它