📄 subject_15331.htm
字号:
<p>
序号:15331 发表者:行者 发表日期:2002-09-17 15:27:59
<br>主题:寻找能够显示各种类型jpg,bmp,icon,gif图片信息的源码?
<br>内容:email:quark-c@163.com
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:徐景周 回复日期:2002-09-17 15:38:13
<br>内容:可用IPicture来实现读取和显示,保存各种格式不行。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浩公 回复日期:2002-09-17 16:53:43
<br>内容:我找到一个实现IPicture的类库,要的话发信 haogong@etang.com
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Jans 回复日期:2002-09-17 17:32:36
<br>内容:很简单<BR><BR>LPPICTURE gpPicture;<BR>HWND ghWnd;<BR>#define HIMETRIC_INCH 2540<BR>void LoadPictureFile(LPCTSTR szFile);<BR>void ShowPicFile(HDC hdc,int x,int y,const RECT& rc);<BR><BR>void LoadPictureFile(LPCTSTR szFile)<BR>{<BR> // open file<BR> HANDLE hFile = CreateFile(szFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);<BR> _ASSERTE(INVALID_HANDLE_VALUE != hFile);<BR><BR> // get file size<BR> DWORD dwFileSize = GetFileSize(hFile, NULL);<BR> _ASSERTE(-1 != dwFileSize);<BR><BR> LPVOID pvData = NULL;<BR> // alloc memory based on file size<BR> HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwFileSize);<BR> _ASSERTE(NULL != hGlobal);<BR><BR> pvData = GlobalLock(hGlobal);<BR> _ASSERTE(NULL != pvData);<BR><BR> DWORD dwBytesRead = 0;<BR> // read file and store in global memory<BR> BOOL bRead = ReadFile(hFile, pvData, dwFileSize, &dwBytesRead, NULL);<BR> _ASSERTE(FALSE != bRead);<BR> GlobalUnlock(hGlobal);<BR> CloseHandle(hFile);<BR><BR> LPSTREAM pstm = NULL;<BR> // create IStream* from global memory<BR> HRESULT hr = CreateStreamOnHGlobal(hGlobal, TRUE, &pstm);<BR> _ASSERTE(SUCCEEDED(hr) && pstm);<BR><BR> // Create IPicture from image file<BR> if (gpPicture)<BR> gpPicture->Release();<BR> hr = ::OleLoadPicture(pstm, dwFileSize, FALSE, IID_IPicture, (LPVOID *)&gpPicture);<BR> _ASSERTE(SUCCEEDED(hr) && gpPicture); <BR> pstm->Release();<BR><BR> InvalidateRect(ghWnd, NULL, TRUE);<BR>}<BR><BR><BR>void ShowPicFile(HDC hdc,int x,int y,const RECT& rc)<BR>{<BR>if (gpPicture)<BR>{<BR> // get width and height of picture<BR> long hmWidth;<BR> long hmHeight;<BR> gpPicture->get_Width(&hmWidth);<BR> gpPicture->get_Height(&hmHeight);<BR> // convert himetric to pixels<BR> int nWidth = MulDiv(hmWidth, GetDeviceCaps(hdc, LOGPIXELSX), HIMETRIC_INCH);<BR> int nHeight = MulDiv(hmHeight, GetDeviceCaps(hdc, LOGPIXELSY), HIMETRIC_INCH); <BR> // display picture using IPicture::Render<BR> gpPicture->Render(hdc, x, y, nWidth, nHeight, 0, hmHeight, hmWidth, -hmHeight, &rc);<BR>}<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:行者 回复日期:2002-09-19 14:33:01
<br>内容:另:<BR>如何得到颜色的位数?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -