⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_15751.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:15751 发表者:Li Qing 发表日期:2002-09-21 01:59:56
<br>主题:How to save sth I painted in a dialog?
<br>内容:I use the dialog to draw a chart.&nbsp;&nbsp;How can I save this chart to file(*.bmp, *.jpeg....all format should be file)?
<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-23 22:43:30
<br>内容:哪可要有个类支持,对话框和View中的原理一样
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Li Qing 回复日期:2002-09-24 02:16:16
<br>内容:I don't know how to do that in view too. Could you please give some details or references?
<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-24 08:41:21
<br>内容:把绘图区的内容存为一个BMP不就行了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Li Qing 回复日期:2002-09-25 10:25:49
<br>内容:How? That's just what I want to know. Please give me some hints.
<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-25 10:35:03
<br>内容:用GetDC函数,得到DC,将它的内容存为一个BMP
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Li Qing 回复日期:2002-09-26 03:24:06
<br>内容:Sorry I still didn't get it. I know nothing about save image. <BR><BR>How to 将DC的内容存为一个BMP? 
<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-26 08:41:14
<br>内容:CBitmap bm;<BR>bm.CreateCompatibleBitmap(&dc,Width,Height);<BR>CDC tdc;<BR>tdc.CreateCompatibleDC(&dc);<BR>CBitmap*pOld=tdc.SelectObject(&bm);<BR>tdc.BitBlt(0,0,Width,Height,&dc,0,0,SRCCOPY);<BR>tdc.SelectObject(pOld);<BR>BITMAP btm;<BR>bm.GetBitmap(&btm);<BR>DWORD size=btm.bmWidthBytes*btm.bmHeight;<BR>LPSTR lpData=(LPSTR)GlobalAllocPtr(GPTR,size);<BR><BR>BITMAPINFOHEADER bih;<BR>bih.biBitCount=btm.bmBitsPixel;<BR>bih.biClrImportant=0;<BR>bih.biClrUsed=0;<BR>bih.biCompression=0;<BR>bih.biHeight=btm.bmHeight;<BR>bih.biPlanes=1;<BR>bih.biSize=sizeof(BITMAPINFOHEADER);<BR>bih.biSizeImage=size;<BR>bih.biWidth=btm.bmWidth;<BR>bih.biXPelsPerMeter=0;<BR>bih.biYPelsPerMeter=0;<BR>GetDIBits(dc,bm,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);<BR><BR>static int filecount=0;<BR>CString name = "filename.bmp";<BR>name=m_Path+name;<BR>BITMAPFILEHEADER bfh;<BR>bfh.bfReserved1=bfh.bfReserved2=0;<BR>bfh.bfType=((WORD)('M'&lt;&lt; 8)|'B');<BR>bfh.bfSize=54+size;<BR>bfh.bfOffBits=54;<BR>CFile bf;<BR>if(bf.Open(name,CFile::modeCreate|CFile::modeWrite)){<BR>&nbsp;&nbsp;&nbsp;&nbsp;bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));<BR>&nbsp;&nbsp;&nbsp;&nbsp;bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));<BR>&nbsp;&nbsp;&nbsp;&nbsp;bf.WriteHuge(lpData,size);<BR>&nbsp;&nbsp;&nbsp;&nbsp;bf.Close();<BR>&nbsp;&nbsp;&nbsp;&nbsp;nCount++;<BR>}<BR>GlobalFreePtr(lpData);<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>
<font color=red>答案被接受</font><br>回复者:凯凯 回复日期:2002-09-26 08:42:28
<br>内容:上面的dc是你想要保存的,它的高宽你可以用GetClientRect取得。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Li Qing 回复日期:2002-09-27 00:21:10
<br>内容:pankai, thank you so much for your help. <BR><BR>I put this code to my program and it works (just change "GlobalAllocPtr" to "GlobalAlloc").<BR><BR>why use the filecount? <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-27 09:25:10
<br>内容:static int filecount=0;<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 + -