DataManager.cpp
上传用户:smdfuse
上传日期:2015-11-06
资源大小:98k
文件大小:2k
- #include "stdafx.h"
- #include "DataManager.h"
- /************************************************************************/
- /* 构造函数 */
- /************************************************************************/
- DataManager::DataManager()
- {
- maxIndex = 0;
- }
- DataManager::~DataManager()
- {
- // 释放所有数据
- }
- /************************************************************************/
- /* 添加图像数据 */
- /************************************************************************/
- ImageData *DataManager::AddData(unsigned char* data,int imgWidth,int imgHeight,int bytes,CDocument *doc)
- {
- if(data == NULL) return NULL;
-
- ImageData id;
- id.bytes = bytes;
- id.data = new unsigned char[imgWidth * imgHeight * bytes / 8];
- memcpy(id.data,data,sizeof(unsigned char) * imgWidth * imgHeight * bytes / 8); // 拷贝输入的数据
- id.imgWidth = imgWidth;
- id.imgHeight = imgHeight;
- id.index = maxIndex;
- id.coreDoc = doc;
- id.use = 0; // 当前使用数据
- switch(id.bytes)
- {
- case 8:
- id.format = IMAGE_FORMAT_GRAY8;
- break;
- case 24:
- id.format = IMAGE_FORMAT_RGB24;
- break;
- }
- imageList.Append(&id,sizeof(ImageData));
-
- maxIndex ++;
- return (ImageData*)imageList.GetLastInfo();
- }
- /************************************************************************/
- /* 删除一个图像 */
- /************************************************************************/
- void DataManager::RemoveData(int index)
- {
- }
- /************************************************************************/
- /* 删除一个图像 */
- /************************************************************************/
- void DataManager::RemoveData(ImageData *id)
- {
- // 删除一个节点上的数据
- }
- /************************************************************************/
- /* 获得一幅图像 */
- /************************************************************************/
- ImageData* DataManager::GetData(int index)
- {
- return NULL;
- }