<?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[bitmaps flimmern]]></title><description><![CDATA[<p>ich male mehrere bitmaps auf meine dc aba des flimmert sehr stark?? kann mir da jemand helfen???</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156337/bitmaps-flimmern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 04:40:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156337.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 Aug 2006 23:53:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bitmaps flimmern on Tue, 15 Aug 2006 23:53:32 GMT]]></title><description><![CDATA[<p>ich male mehrere bitmaps auf meine dc aba des flimmert sehr stark?? kann mir da jemand helfen???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117932</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117932</guid><dc:creator><![CDATA[Nikolausii]]></dc:creator><pubDate>Tue, 15 Aug 2006 23:53:32 GMT</pubDate></item><item><title><![CDATA[Reply to bitmaps flimmern on Wed, 16 Aug 2006 05:21:03 GMT]]></title><description><![CDATA[<p>Ist ein alter hut, aber ich erkläre es nochmal. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Wenn du mehrere Bitmaps gleichzeitig zeichnen möchtest, die höchstwahrscheinlich übereinander liegen, (z.B. Hintergrundbild und darauf andere sachen) dann flimmert es meist. Warum?<br />
Besonders große Bilder überschreiben die kleinen, so dass sie für einen ganz kurzen moment nicht sichbar sind. Das nimmt man dann als flimmern wahr.</p>
<p>Die Lösung des Problems ist so genanntes Backbuffering. Anstatt alle Bilder hintereinander direkt auf den Gerätekontext des Fensters zu zeichnen, zeichnet man alle in einen Zwischen-Gerätekontext, dem sogenannten Backbuffer. Diesen Backbuffer Blittet man dann in den Frontbuffer (Der Zeichenbereich des Fensters) und es gibt kein flimmern mehr, da nur noch das fertige Bild gezeichnet wird.</p>
<p>Vom Prinzip funktioniert es genauso wie das &quot;Normale&quot; Zeichnen, du musst eben nur einen zwischenschritt machen. Zum Blitten kannst du je nach geschmack BitBlt oder wenn es Transparente Bilder sein dürfen TransparentBlt verwenden, wobei du da eine lib mitlinken musst, die ich gerade nicht im kopf hab. (Siehe MSDN)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1117958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1117958</guid><dc:creator><![CDATA[Perner]]></dc:creator><pubDate>Wed, 16 Aug 2006 05:21:03 GMT</pubDate></item><item><title><![CDATA[Reply to bitmaps flimmern on Wed, 16 Aug 2006 13:50:52 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">buffer=CreateCompatibleDC(ps.hdc);
PrintBackG(buffer);
for(int i=0;i&lt;BALL_N;i++)
           {
               PrintBmp(buffer,changepixX(Movement.Baelle[i].KugelPos.x),changepixY(Movement.Baelle[i].KugelPos.y),Movement.Baelle[i].Flag);

           }  
           BitBlt(ps.hdc,0,0,width,height, buffer,0,0, SRCCOPY);
</code></pre>
<p>aber es blittet die dc nicht da rein!!! Die Funktionen stimmen das ist sicher(PrintBackG u. PrintBmp) da sie ohne doublebuffering funktioniert haben!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118412</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118412</guid><dc:creator><![CDATA[Nikolausii]]></dc:creator><pubDate>Wed, 16 Aug 2006 13:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to bitmaps flimmern on Wed, 16 Aug 2006 14:52:25 GMT]]></title><description><![CDATA[<p>Nikolausii schrieb:</p>
<blockquote>
<pre><code class="language-cpp">buffer=CreateCompatibleDC(ps.hdc);
PrintBackG(buffer);
for(int i=0;i&lt;BALL_N;i++)
           {
               PrintBmp(buffer,changepixX(Movement.Baelle[i].KugelPos.x),changepixY(Movement.Baelle[i].KugelPos.y),Movement.Baelle[i].Flag);

           }  
           BitBlt(ps.hdc,0,0,width,height, buffer,0,0, SRCCOPY);
</code></pre>
<p>aber es blittet die dc nicht da rein!!! Die Funktionen stimmen das ist sicher(PrintBackG u. PrintBmp) da sie ohne doublebuffering funktioniert haben!</p>
</blockquote>
<p>Mal davon abgesehen, dass deine Fehlerbeschreibung etwas dürftig ist und mir auch (logischerweise) nicht klar ist was PrintBackG(buffer); tut, vermute ich das du keine Bitmap in den BackBuffer selektiert hast.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118477</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118477</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 16 Aug 2006 14:52:25 GMT</pubDate></item><item><title><![CDATA[Reply to bitmaps flimmern on Wed, 16 Aug 2006 17:08:06 GMT]]></title><description><![CDATA[<p>nope hab ich gemacht!</p>
<pre><code class="language-cpp">void PrintBackG(HDC littlewin)//Background
{
  HDC hdcMem = CreateCompatibleDC(littlewin);
  SelectObject(hdcMem,BACKG);

  BitBlt(littlewin,0,0,width,height, hdcMem,0,0, SRCCOPY); 
  DeleteDC(hdcMem);   
}
</code></pre>
<p>oder meinst du</p>
<pre><code class="language-cpp">void PrintBackG(HDC littlewin)
{
  SelectObject(littlewin,BACKG);
}
</code></pre>
<p>geht leider auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118589</guid><dc:creator><![CDATA[Nikolausii]]></dc:creator><pubDate>Wed, 16 Aug 2006 17:08:06 GMT</pubDate></item><item><title><![CDATA[Reply to bitmaps flimmern on Wed, 16 Aug 2006 17:28:02 GMT]]></title><description><![CDATA[<p>Ich weiß nicht warum du das alles in Funktionen gekapselt - in meinen Augen<br />
Schwachsinn - aber guck dir <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-14713.html" rel="nofollow">|_das_|</a><br />
mal an...kann dir leider jetzt kein Code schreiben, da ich ATM keine Zeit hab<br />
-sry-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118602</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 16 Aug 2006 17:28:02 GMT</pubDate></item></channel></rss>