我从设备已经成功读到JIF图片的数据,保存在一个数组内。将这个数组内的数据写入文件内没有问题,可以用画图板打开看到图片。有没有不将其保存为文件而在程序界面上直接显示出来的方法?如果保存为图片文件,再在程序中以图片载入显示,可能对硬盘不是很好吧?
解决方案 »
- Create 函数是做什么的?
- 关于面向对象中的消息问题
- Dll 怎样访问 EXE的函数和变量,查了一天没有根本解决,那位高人指点
- 请高手指点 程序调试中遇到的一个错误(不常见的)
- 怎样实现宽图用滚动条看全?
- 哪里有ICO图标下载!
- 将A程序中参数传给B.EXE文件,B该如何得到的这些参数参数?A,B分别为两个VC编制应用程序
- 关于odbc跟踪的
- EVC 无法触发串口接收线程
- 最近觉得自己C++的底子很不牢,请大峡推荐C++的书,最好不是绝版的和根本买不到的
- winsock api 用WSAAsyncSelect函数,第二个参数是不是一定要主窗口句柄啊?
- 请教用Brute Force算法 实现替换和删除的问题!
{
CFile file;
if( !file.Open( pPathname, CFile::modeRead) )
return FALSE;
m_nFileLen = file.GetLength();
HGLOBAL hMem = ::GlobalAlloc( GMEM_MOVEABLE, m_nFileLen );
LPVOID lpBuf = ::GlobalLock( hMem );
if( file.ReadHuge( lpBuf, m_nFileLen ) != m_nFileLen )
return FALSE;
file.Close(); m_pJPGBuffer = (char *)lpBuf;
::GlobalUnlock( hMem );
if ( CreateStreamOnHGlobal( hMem, TRUE, &pStream ) !=S_OK )
return FALSE;
if ( OleLoadPicture( pStream, m_nFileLen, TRUE, IID_IPicture, ( LPVOID * )&pPicture ) !=S_OK )
return FALSE;
return TRUE;}void DrawImage(int x, int y, int a,int b,CDC *pDC)
{ if (pPicture != NULL)
{
long nWidth,nHeight;
CRect rectDoc;
//CDrawClientDoc* pDoc=GetDocument();
GetClientRect(rectDoc);
pPicture->get_Width( &nWidth );
pPicture->get_Height( &nHeight );
//ͼƬԴóÏÔʾ
CSize sz( nWidth, nHeight );
pDC->HIMETRICtoDP( &sz ); pPicture->Render(pDC->m_hDC,x,y,a,b,0,nHeight,nWidth,-nHeight,NULL);
/*
//°´´°¿Ú³ß´çÏÔʾ
CRect rect;
GetClientRect(&rect);
pPicture->Render(pDC->m_hDC,x,y,rect.Width(),rect.Height(),0,nHeight,nWidth,-nHeight,NULL);*/
}
}其中一些变量定义为:
IStream * pStream;
IPicture * pPicture;