System.cpp
上传用户:yatsl7111
上传日期:2007-01-08
资源大小:1433k
文件大小:2k
- /********************************************************************
- System.cpp - ISee图像浏览器—图像处理模块图像内存分配和删除实现函
- 数代码文件
- 版权所有(C) VCHelp-coPathway-ISee workgroup 2000 all member's
- 这一程序是自由软件,你可以遵照自由软件基金会出版的GNU 通用许可证
- 条款来修改和重新发布这一程序。或者用许可证的第二版,或者(根据你
- 的选择)用任何更新的版本。
- 发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定
- 目地的隐含的担保。更详细的情况请参阅GNU通用许可证。
- 你应该已经和程序一起收到一份GNU通用许可证(GPL)的副本。如果还没有,
- 写信给:
- The Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- MA02139, USA
- 如果你在使用本软件时有什么问题或建议,用以下地址可以与我们取得联
- 系:
- http://isee.126.com
- http://www.vchelp.net
- 或:
- iseesoft@china.com
- 作者:马翔
- e-mail:hugesoft@yeah.net
- 功能实现:内存分配和删除等公用功能
- 文件版本:
- Build 000123
- Date 2000-12-3
- ********************************************************************/
- #include "stdafx.h"
- #include "System.h"
- #include "mmsystem.h"
- // 分配内存函数,这里借用了临风的格式
- LPVOID New(DWORD dwSize)
- {
- HGLOBAL hgMem;
- hgMem=GlobalAlloc(GMEM_FIXED | GMEM_ZEROINIT,dwSize);
- if(hgMem==NULL)
- {
- AfxMessageBox("内存分配失败,请检查虚拟内存空间");
- return NULL;
- }
- return (LPVOID)hgMem;
- }
- // 释放内存函数,这里借用了临风的格式
- LPVOID Del(LPVOID lpv)
- {
- if(lpv!=NULL)
- GlobalFree(lpv);
- return NULL;
- }
- // 创建内存图像函数
- BOOL CreatMemImage(LPIMAGEPROCSTR lpInfo)
- {
- //创建内存图像
- lpInfo->_pdbdata = (unsigned char*)New (lpInfo->sImageInfo.width*lpInfo->sImageInfo.height*(lpInfo->sImageInfo.bitperpix/8));
- if(lpInfo->_pdbdata==NULL)
- {
- lpInfo->result=PR_MEMORYERR;
- return PROCERR_FALSE;
- }
- //填写新建图像信息
- lpInfo->dImageInfo=lpInfo->sImageInfo;
- return TRUE;
- }
- // 延时函数,目前为未使用,我考滤以
- // 后可用它实现图象显示的淡入淡出
- void Delay(DWORD dwDelayTime)
- {
- DWORD dwTimeBegin,dwTimeEnd;
- dwTimeBegin=timeGetTime();
- do
- {
- dwTimeEnd=timeGetTime();
- }while(dwTimeEnd-dwTimeBegin<dwDelayTime);
- }
- // 排序函数,用于中值滤波,使用了新的
- // 算法后它暂时已无用
- int Compare(const void *e1,const void *e2)
- {
- if(*(BYTE*)e1<*(BYTE*)e2)
- return -1;
- if(*(BYTE*)e1>*(BYTE*)e2)
- return 1;
- return 0;
- }