📄 subject_15751.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. 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'<< 8)|'B');<BR>bfh.bfSize=54+size;<BR>bfh.bfOffBits=54;<BR>CFile bf;<BR>if(bf.Open(name,CFile::modeCreate|CFile::modeWrite)){<BR> bf.WriteHuge(&bfh,sizeof(BITMAPFILEHEADER));<BR> bf.WriteHuge(&bih,sizeof(BITMAPINFOHEADER));<BR> bf.WriteHuge(lpData,size);<BR> bf.Close();<BR> 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 + -