<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Inhalt von CStatic als Bitmap abspeichern]]></title><description><![CDATA[<p>Ich habe eine Cstatic Klasse abgleitet und zeichne ein Bild hinein über</p>
<pre><code>void CGraphCtrl::OnPaint() 
{
	CPaintDC dc(this); // device context for painting	

	CRect rc;
	GetClientRect(rc);

	CMemDC pDC(&amp;dc, &amp;rc);
...
	pDC-&gt;FillSolidRect(x,y,x+1,y+1,c);
...
}
</code></pre>
<p>Diesen Inhalt von pDC würde ich auch gerne als Bitmap abspeichern können.</p>
<p>Wie müsste ich das machen ?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/175700/inhalt-von-cstatic-als-bitmap-abspeichern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 15:28:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/175700.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 13 Mar 2007 11:45:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Inhalt von CStatic als Bitmap abspeichern on Tue, 13 Mar 2007 11:45:37 GMT]]></title><description><![CDATA[<p>Ich habe eine Cstatic Klasse abgleitet und zeichne ein Bild hinein über</p>
<pre><code>void CGraphCtrl::OnPaint() 
{
	CPaintDC dc(this); // device context for painting	

	CRect rc;
	GetClientRect(rc);

	CMemDC pDC(&amp;dc, &amp;rc);
...
	pDC-&gt;FillSolidRect(x,y,x+1,y+1,c);
...
}
</code></pre>
<p>Diesen Inhalt von pDC würde ich auch gerne als Bitmap abspeichern können.</p>
<p>Wie müsste ich das machen ?</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244595</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Tue, 13 Mar 2007 11:45:37 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt von CStatic als Bitmap abspeichern on Tue, 13 Mar 2007 12:18:08 GMT]]></title><description><![CDATA[<p><a href="http://www.codeproject.com/bitmap/drawing2bitmap.asp" rel="nofollow">http://www.codeproject.com/bitmap/drawing2bitmap.asp</a></p>
<p>Auch hilfreich:<br />
<a href="http://www.codeproject.com/clipboard/hscr2clp.asp" rel="nofollow">http://www.codeproject.com/clipboard/hscr2clp.asp</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1244622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1244622</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 13 Mar 2007 12:18:08 GMT</pubDate></item><item><title><![CDATA[Reply to Inhalt von CStatic als Bitmap abspeichern on Tue, 24 Apr 2007 11:28:25 GMT]]></title><description><![CDATA[<p>Ich habe folgenden Code den ich implementieren möchte (wurde mir so empfohlen)</p>
<pre><code class="language-cpp">void CGraphCtrl::OnPaint() 
{
	CPaintDC dc(this); // device context for painting	

	CRect (rc);
	GetClientRect(rc);

	//CMemDC pDC(&amp;dc,&amp;rc); // Double Buffering

	CDC MemDC;
	MemDC.CreateCompatibleDC(&amp;dc);
	Bmp.CreateCompatibleBitmap(&amp;dc, rc.Width(), rc.Height());
	CBitmap *pOldBitmap = MemDC.SelectObject(&amp;Bmp);

	COLORREF c;
	if  ((m_PixelNumberX&gt;0) &amp;&amp; (m_PixelNumberY &gt; 0))
	{
		for (int ix=0; ix &lt; m_PixelNumberX; ix++)
		{
			for (int iy=0; iy &lt; m_PixelNumberY; iy++)
			{
				c=PlotData[ix][iy];
				//pDC-&gt;SetPixel(ix,iy,c);
				MemDC.SetPixel(ix,iy,c);
			}
		}
	}

	dc.BitBlt(0,0,rc.Width(),rc.Height(),&amp;MemDC,0,0,SRCCOPY);
	MemDC.SelectObject(pOldBitmap);

}
</code></pre>
<p>Ich sollte damit, wenn ich es richtig verstanden habe, mit folgendem Code auch ein Bitmap speichern können:</p>
<pre><code class="language-cpp">CImage Image;
Image.Attach(Bmp.Detach());
Image.Save(...);
</code></pre>
<p>das Problem ist nur, das obige Funktion and der Stelle</p>
<pre><code class="language-cpp">CBitmap *pOldBitmap = MemDC.SelectObject(&amp;Bmp);
</code></pre>
<p>innerhalb von</p>
<pre><code class="language-cpp">BOOL CGdiObject::Attach(HGDIOBJ hObject)
{
	ASSERT(m_hObject == NULL);      // only attach once, detach on
</code></pre>
<p>abbricht und mir der Grund nicht klar ist.</p>
<p>Matthias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1272321</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1272321</guid><dc:creator><![CDATA[pospiech]]></dc:creator><pubDate>Tue, 24 Apr 2007 11:28:25 GMT</pubDate></item></channel></rss>