<?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[DIBSections]]></title><description><![CDATA[<p>hi @ all</p>
<pre><code class="language-cpp">HDC hdc;
	HBITMAP hBitmap;
	BYTE *pBits;
	BITMAPINFOHEADER bmih;
	//create bitmap
	bmih.biSize	= sizeof(BITMAPINFOHEADER);
	bmih.biWidth = 160;
	bmih.biHeight = 43;
	bmih.biPlanes = 1;
	bmih.biBitCount = 1;
	bmih.biCompression = BI_RGB;
	bmih.biSizeImage = 0;
	bmih.biXPelsPerMeter = 0;
	bmih.biYPelsPerMeter = 0;
	bmih.biClrUsed = 0;
	bmih.biClrImportant = 0;

	std::cout &lt;&lt; &quot;versuche Bitmap zu machen&quot;;
	hBitmap = CreateDIBSection (NULL, (BITMAPINFO *) &amp;bmih, 0, (void **) &amp;pBits, NULL, 0);
	std::cout &lt;&lt; &quot;bitmap gemacht&quot;;
	std::cout &lt;&lt; &quot;erstelle DC&quot;;
	hdc = CreateCompatibleDC(0);
	std::cout &lt;&lt; &quot;setzte bitmap in den DC&quot;;
	SelectObject(hdc, hBitmap);
	std::cout &lt;&lt; &quot;zeichne Ellipse&quot;;
	Ellipse(hdc, 0, 0, 160, 43);
	std::cout &lt;&lt; &quot;lösche DC&quot;;
	DeleteDC(hdc);
	std::cout &lt;&lt; &quot;fertig&quot;;

    // load a bitmap onto the display
    lgLcdBitmap160x43x1 bmp;
    bmp.hdr.Format = LGLCD_BMP_FORMAT_160x43x1;
    std::cout &lt;&lt; &quot;kopiere pixel daten&quot;;
    memcpy(&amp;bmp.pixels, pBits, sizeof(bmp.pixels));
    std::cout &lt;&lt; &quot;update bitmap&quot;;
    lgLcdUpdateBitmap(openContext.device, &amp;bmp.hdr, LGLCD_SYNC_UPDATE(LGLCD_PRIORITY_NORMAL));
</code></pre>
<p>Bei dieser Codezeile:</p>
<pre><code class="language-cpp">memcpy(&amp;bmp.pixels, pBits, sizeof(bmp.pixels));
</code></pre>
<p>stürtzt das Programm ab <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="😞"
    /> ich kann mir leider nicht erklären warum. weil mit anderen zeigern als pBits funktioniert es das heist das dieser nicht einen richtigen speicherbereich enthält.</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/177739/dibsections</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Jul 2026 23:52:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/177739.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Apr 2007 15:35:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to DIBSections on Tue, 03 Apr 2007 15:35:12 GMT]]></title><description><![CDATA[<p>hi @ all</p>
<pre><code class="language-cpp">HDC hdc;
	HBITMAP hBitmap;
	BYTE *pBits;
	BITMAPINFOHEADER bmih;
	//create bitmap
	bmih.biSize	= sizeof(BITMAPINFOHEADER);
	bmih.biWidth = 160;
	bmih.biHeight = 43;
	bmih.biPlanes = 1;
	bmih.biBitCount = 1;
	bmih.biCompression = BI_RGB;
	bmih.biSizeImage = 0;
	bmih.biXPelsPerMeter = 0;
	bmih.biYPelsPerMeter = 0;
	bmih.biClrUsed = 0;
	bmih.biClrImportant = 0;

	std::cout &lt;&lt; &quot;versuche Bitmap zu machen&quot;;
	hBitmap = CreateDIBSection (NULL, (BITMAPINFO *) &amp;bmih, 0, (void **) &amp;pBits, NULL, 0);
	std::cout &lt;&lt; &quot;bitmap gemacht&quot;;
	std::cout &lt;&lt; &quot;erstelle DC&quot;;
	hdc = CreateCompatibleDC(0);
	std::cout &lt;&lt; &quot;setzte bitmap in den DC&quot;;
	SelectObject(hdc, hBitmap);
	std::cout &lt;&lt; &quot;zeichne Ellipse&quot;;
	Ellipse(hdc, 0, 0, 160, 43);
	std::cout &lt;&lt; &quot;lösche DC&quot;;
	DeleteDC(hdc);
	std::cout &lt;&lt; &quot;fertig&quot;;

    // load a bitmap onto the display
    lgLcdBitmap160x43x1 bmp;
    bmp.hdr.Format = LGLCD_BMP_FORMAT_160x43x1;
    std::cout &lt;&lt; &quot;kopiere pixel daten&quot;;
    memcpy(&amp;bmp.pixels, pBits, sizeof(bmp.pixels));
    std::cout &lt;&lt; &quot;update bitmap&quot;;
    lgLcdUpdateBitmap(openContext.device, &amp;bmp.hdr, LGLCD_SYNC_UPDATE(LGLCD_PRIORITY_NORMAL));
</code></pre>
<p>Bei dieser Codezeile:</p>
<pre><code class="language-cpp">memcpy(&amp;bmp.pixels, pBits, sizeof(bmp.pixels));
</code></pre>
<p>stürtzt das Programm ab <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="😞"
    /> ich kann mir leider nicht erklären warum. weil mit anderen zeigern als pBits funktioniert es das heist das dieser nicht einen richtigen speicherbereich enthält.</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258689</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258689</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Tue, 03 Apr 2007 15:35:12 GMT</pubDate></item><item><title><![CDATA[Reply to DIBSections on Tue, 03 Apr 2007 15:47:34 GMT]]></title><description><![CDATA[<p>Ein klarer Fall für den Debugger. Ist der Speicherbereich, in den du kopierst, groß genug, kopierst du evtl. mehr Zeichen, als in der Quelle vorhanden sind? Existiert die Quelle überhaupt bzw. war der Aufruf von CreateDIBSection erfolgreich? Alles Fragen, die dir dein Debugger ganz hervorragend beantworten kann <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1258697</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258697</guid><dc:creator><![CDATA[audacia]]></dc:creator><pubDate>Tue, 03 Apr 2007 15:47:34 GMT</pubDate></item><item><title><![CDATA[Reply to DIBSections on Tue, 03 Apr 2007 18:47:02 GMT]]></title><description><![CDATA[<p>ich denke ich habs gefunden!<br />
mein bitmap hat 1bit pro pixel die funktion will aber eins mit 1byte pro pixel<br />
was aber meiner meinung nach wenig sinn bei nem schwarz weiß display macht :|</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1258791</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1258791</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Tue, 03 Apr 2007 18:47:02 GMT</pubDate></item></channel></rss>