图片路径"res/back.jpg"。图片大小比PICTURE CONTROL大,需要按比例压缩一下。试了不少方法,都不行。
解决方案 »
- 请帮忙看看这个程序,实现最小二乘影像匹配的,结果是输出两幅图之间所有同名点的坐标
- 100分请为一个MFC窗口显示问题;
- 我快疯了......
- teechart控件的使用
- 高手请看一看
- 问个vc IDE的怪问题 我的vc怎么突然每次build都把全部的文件rebuild,
- 求助:怎样在游戏中实现那些按钮(类似EXIT,START GAME等)基于WINDOWS下的游戏!
- 关于EXCEL的ADD-IN,急求帮助!
- [Question]请问用CRecordset::Open()执行后,数据库的数据都在内存中吗?
- windows midi接口延迟问题
- 郁闷之极,CSDN怎么搞得!!!
- 求TCP/IP详解一书源码
。。这样啊。那怎样在一个dialog里面全屏显示一副JPG图片呢?
img.Load(图片路径)
img.Draw(pic-control的HDC)
::CoInitialize(NULL); // COM 初始化
HRESULT hr;
CFile file;
file.Open( "c:\\aa.jpg", CFile::modeRead | CFile::shareDenyNone ); // 读入文件内容
DWORD dwSize = file.GetLength();
HGLOBAL hMem = ::GlobalAlloc( GMEM_MOVEABLE, dwSize );
LPVOID lpBuf = ::GlobalLock( hMem );
file.ReadHuge( lpBuf, dwSize );
file.Close();
::GlobalUnlock( hMem );
IStream * pStream = NULL;
IPicture * pPicture = NULL;
// 由 HGLOBAL 得到 IStream,参数 TRUE 表示释放 IStream 的同时,释放内存
hr = ::CreateStreamOnHGlobal( hMem, TRUE, &pStream );
ASSERT ( SUCCEEDED(hr) );
hr = ::OleLoadPicture( pStream, dwSize, TRUE, IID_IPicture, ( LPVOID * )&pPicture );
ASSERT(hr==S_OK);
long nWidth,nHeight; // 宽高,MM_HIMETRIC 模式,单位是0.01毫米
pPicture->get_Width( &nWidth ); // 宽
pPicture->get_Height( &nHeight ); // 高
////////原大显示//////
CSize sz( nWidth, nHeight );
pDC->HIMETRICtoDP( &sz ); // 转换 MM_HIMETRIC 模式单位为 MM_TEXT 像素单位
pPicture->Render(pDC->m_hDC,0,0,sz.cx,sz.cy,
0,nHeight,nWidth,-nHeight,NULL);
////////按窗口尺寸显示////////
// CRect rect; GetClientRect(&rect);
// pPicture->Render(pDC->m_hDC,0,0,rect.Width(),rect.Height(),
// 0,nHeight,nWidth,-nHeight,NULL);
if ( pPicture ) pPicture->Release();// 释放 IPicture 指针
if ( pStream ) pStream->Release(); // 释放 IStream 指针,同时释放了 hMem
::CoUninitialize();
}这个可以显示JPG图片,用的时候将它写成一个函数,其中pDC是你想显示的图片窗体的DC指针.