WEB开发网
开发学院软件开发VC 图片的合并与分解 阅读

图片的合并与分解

 2009-04-19 20:03:26 来源:WEB开发网   
核心提示: 2、初始化和释放GDI+ 调用首先定义一个ULONG_PTR的成员变量 m_gdiplusToken ,这是一个DWORD数据类型,图片的合并与分解(2),该成员变量用来保存GDI+ 被初始化后在应用程序中的GDI+ 标识,以便能在应用程序退出后,不出意外的话,会打开一个文件夹界面,引用该

2、初始化和释放GDI+ 调用

首先定义一个ULONG_PTR的成员变量 m_gdiplusToken ,这是一个DWORD数据类型,该成员变量用来保存GDI+ 被初始化后在应用程序中的GDI+ 标识,以便能在应用程序退出后,引用该标识来调用Gdiplus:: GdiplusShutdown来关闭GDI+。细节请参考CBmp2MApp里的相关代码。

ULONG_PTR m_gdiplusToken; //GDI+

然后在 BOOL CBmp2MApp::InitInstance() 里开始初始化 GDI+ 环境。

//初始化GID+
GdiplusStartupInput gdiplusStartupInput;

GdiplusStartup( &m_gdiplusToken,&gdiplusStartupInput,NULL );

最后,在int CBmp2MApp::ExitInstance()里,我们来释放GDI+ 的调用。注意:在向导生成的缺省项目中,这个函数是没有的,我们需要重载它。在类视图里选择CBmp2MApp,然后在属性里点重写,就可以看到。(是不是太罗嗦了^_^)

int CBmp2MApp::ExitInstance() 
{

//释放GDI+ 调用

GdiplusShutdown( m_gdiplusToken );


return CWinApp::ExitInstance();
}

3、图片的分解

分解一张图为多张,这是程序的缺省模式。如源码中的注释,我只考虑了横向分解,没有考虑纵向的情况,也没有考虑智能的获取图片的尺寸问题,缺省就是16*16,如果你的图片是32*32或其他的模式,请手动更改。但你点击选择文件,成功选择一个合适的图片文件之后,界面应该是下图所示的样子。如果不想改变拆分图片的存储路径,你可以直接点确定了,不出意外的话,会打开一个文件夹界面,然后里边有N张存储成功可供使用的图片了。

核心函数就是下面的这个:

Tags:图片 合并 分解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接