IPicture接口中的数据保存方法
2007-01-26 10:21
246 查看
因为IPicture接口提供了SaveAsFile,实际上是保存在IStream(流)中,那么就可放剪切板或者保存在文件中,但是此时所占用的大小与原先装入(OleLoadPicture)时的大小不一致,因为被m$修改了啦。
方法如下:
HGLOBAL hGlobal = ::GlobalAlloc(GMEM_MOVEABLE, 0); //因为你不知道图像存储需要多少空间,所以设置为0
if(hGlobal)
{
IStream* pStream = NULL;
HRESULT hr = ::CreateStreamOnHGolbal(hGlobal, TRUE, &pStream);
if(SUCCEEDED(hr))
{
LONG cbSize = 0;
hr = pPicture->SaveAsFile(pStream, FALSE, &cbSize);
{
BYTE* pByte = (BYTE*) ::GlobalLock(hGlobal);
//操作你的数据...
::GlobalUnLock(hGlobal);
}
}
::GlobalFree(hGlobal);
}
方法如下:
HGLOBAL hGlobal = ::GlobalAlloc(GMEM_MOVEABLE, 0); //因为你不知道图像存储需要多少空间,所以设置为0
if(hGlobal)
{
IStream* pStream = NULL;
HRESULT hr = ::CreateStreamOnHGolbal(hGlobal, TRUE, &pStream);
if(SUCCEEDED(hr))
{
LONG cbSize = 0;
hr = pPicture->SaveAsFile(pStream, FALSE, &cbSize);
{
BYTE* pByte = (BYTE*) ::GlobalLock(hGlobal);
//操作你的数据...
::GlobalUnLock(hGlobal);
}
}
::GlobalFree(hGlobal);
}
相关文章推荐
- ios 数据本地保存 四种方法
- 保存数据的一系列方法
- 关于数据保存的方式(沙盒,解档归档(swift方法))
- mybatis单笔批量保存实体数据的方法
- ofbiz的webservice接口提供(4)-支持复杂数据类型方法
- hibernate persist update 方法没有正常工作(不保存数据,不更新数据)
- 将内存图像数据保存为png及tif方法
- Python保存/提取数据的方法
- HTML5数据存储---使用clear()方法清除localStorage保存对象的全部数据
- Matlab 4. Matlab2016 不能保存数据(变量)的解决方法(中文版)-v7.3 switch
- Android中保存数据的四种方法
- 关于使用java从http接口取数据保存到本地文件的中文乱码处理
- Android实现内存中数据保存到sdcard的方法
- Python Numpy 数据保存方法
- 保存数据的一系列方法( 转)
- IPA掉电保存数据方法
- Retrofit+RxJava+OkHttp封装类请求接口数据→原生登录,注册,个人信息页+设置用户头像(图片上传或拍照)+SharedPreferences保存信息+Fresco加载图片+Mvp分层
- PHP下使用CURL方式POST数据至API接口的方法
- MFC 程序内部保存数据的一种方法
- Python数据处理-将数据保存为txt、csv等文件格式方法