<?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[Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich ein Bild via LoadImage lade und die Pixel ausgebe via GetDIBits, dann werdne die Bildinformationen gespiegelt ausgegeben.</p>
<p>Gibt es eine Möglichkeit das wieder rückgänig zu machen?</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/184508/bild-spiegelverkerht-gt-loadimage-amp-getdibits</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 21:18:41 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/184508.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 15 Jun 2007 22:01:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits on Fri, 15 Jun 2007 22:01:16 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich ein Bild via LoadImage lade und die Pixel ausgebe via GetDIBits, dann werdne die Bildinformationen gespiegelt ausgegeben.</p>
<p>Gibt es eine Möglichkeit das wieder rückgänig zu machen?</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306958</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306958</guid><dc:creator><![CDATA[Jimmy0]]></dc:creator><pubDate>Fri, 15 Jun 2007 22:01:16 GMT</pubDate></item><item><title><![CDATA[Reply to Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits on Fri, 15 Jun 2007 22:23:08 GMT]]></title><description><![CDATA[<p>Hab gefunden was ich gesucht habe:</p>
<p>siehe (*)</p>
<pre><code>BITMAPINFO bmi;
	bmi.bmiHeader.biSize		= sizeof(bmi.bmiHeader); //Set the size
	bmi.bmiHeader.biWidth		= width;
	bmi.bmiHeader.biHeight		= -height; // (*) NEGATIVES VORZEICHEN!!!
	bmi.bmiHeader.biBitCount	= __bm.bmBitsPixel;
	bmi.bmiHeader.biPlanes		= 1;
	bmi.bmiHeader.biCompression	= BI_RGB;
	bmi.bmiHeader.biSizeImage    =0;// 32 * 5 * 5 / 8;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1306963</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306963</guid><dc:creator><![CDATA[Jimmy0]]></dc:creator><pubDate>Fri, 15 Jun 2007 22:23:08 GMT</pubDate></item><item><title><![CDATA[Reply to Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits on Fri, 15 Jun 2007 22:36:56 GMT]]></title><description><![CDATA[<p>So stell mal hier einen Quellcode rein, der funktioniert:</p>
<p>BMP-Bild via LoadImage laden, via GetDIBits Pixel auslesen:</p>
<pre><code class="language-cpp">HDC dcImage;
	HBITMAP hBitmap = (HBITMAP)LoadImage(	NULL, &quot;c:\\mypicture.bmp&quot;, IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE );

		// create local 
	dcImage		= CreateCompatibleDC(  GetDC( ::GetDesktopWindow()));
	HBITMAP hOldBitmap = (HBITMAP)SelectObject( dcImage, hBitmap );

	BITMAPINFO	__bmi;
	BITMAP		__bm;

	GetObject( hBitmap, sizeof(BITMAPINFO),		&amp;__bmi );
	GetObject( hBitmap, sizeof(BITMAP),			&amp;__bm );

	//BitBlt( dcImage, 0, 0, 5, 5, dcImage, 0, 0, DSTINVERT );

	int width	= __bm.bmWidth;
	int height	= __bm.bmHeight;

	BITMAPINFO bmi;
	bmi.bmiHeader.biSize		= sizeof(bmi.bmiHeader); //Set the size
	bmi.bmiHeader.biWidth		= width;
	bmi.bmiHeader.biHeight		= -height; // invert image
	bmi.bmiHeader.biBitCount	= __bm.bmBitsPixel;
	bmi.bmiHeader.biPlanes		= 1;
	bmi.bmiHeader.biCompression	= BI_RGB;
	bmi.bmiHeader.biSizeImage	= ((((__bm.bmWidth * bmi.bmiHeader.biBitCount) + 31) &amp; ~31) / 8) * __bm.bmHeight;

	BYTE *pbBits = new BYTE[bmi.bmiHeader.biSizeImage]; 

	long _c= GetDIBits(	dcImage,
						hBitmap,
						0,
						height,
						pbBits,
						&amp;bmi,
						DIB_RGB_COLORS );

	printf( &quot;\nCopied: %i\n WidthBytes: %i&quot;, _c, __bm.bmWidthBytes );

	for( int y=0; y &lt; height; y++ )
	{
		for( int x=0; x &lt; width; x++ )
		{
			BYTE *bytePixels = &amp;pbBits[(y*__bm.bmWidthBytes)+(x*3)];

			BYTE b = bytePixels[0];
			BYTE g = bytePixels[1];
			BYTE r = bytePixels[2];

			printf( &quot;\n %i, %i, %i&quot;, r,g,b );

		}//for
	}//for

	printf( &quot;\n----------\nfinished&quot; );
	getchar();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1306973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306973</guid><dc:creator><![CDATA[Jimmy0]]></dc:creator><pubDate>Fri, 15 Jun 2007 22:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits on Fri, 15 Jun 2007 23:54:55 GMT]]></title><description><![CDATA[<p>Denk an das</p>
<pre><code class="language-cpp">delete [] pbBits;
</code></pre>
<p><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/1306997</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306997</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 15 Jun 2007 23:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits on Sat, 16 Jun 2007 22:49:29 GMT]]></title><description><![CDATA[<p>Hi, jep. das muss ich aber erst etwas später machen.</p>
<p>So noch eine kleine Frage:<br />
----------------<br />
Wie hängt <strong>GetDIBits</strong> und <strong>CreateDIBSection</strong> mit einander zusammen?</p>
<p>Wenn ich ein HDC erstelle, über CreateCompatibleBitmap dem DC ein Bitmap zuweise und darauf via BitBlt ein Screenshot vom Desktop mache und speichere funktioniert alles wunderbar.<br />
**Aber{/B] wenn ich hier GetDIBits() aufrufe funktioniert es nicht =&gt; Fehler!</p>
<p>Ich kann momentan nur GetDIBits() benutzen, wenn ich ein Bild via LoadImage [b]mit dem attribut &quot;LR_CREATEDIBSECTION&quot;** lade. Entferne ich das attribut, schläng die FUnktion ebenfalls fehl.</p>
<p>Wie kann ich das beheben, sodass ich auch die Funktion(GetDIBits()) bei &quot;normalen&quot; HDC nutzen kann? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1307475</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1307475</guid><dc:creator><![CDATA[Jimmy0]]></dc:creator><pubDate>Sat, 16 Jun 2007 22:49:29 GMT</pubDate></item><item><title><![CDATA[Reply to Bild spiegelverkerht -&amp;gt; LoadImage &amp;amp; GetDIBits on Sun, 17 Jun 2007 16:12:28 GMT]]></title><description><![CDATA[<p>Is dieFrage nicht verständlich? Oder weiß es einfach keinder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1307826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1307826</guid><dc:creator><![CDATA[Jimmy0]]></dc:creator><pubDate>Sun, 17 Jun 2007 16:12:28 GMT</pubDate></item></channel></rss>