<?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[C++ Bitmap Random PixelData]]></title><description><![CDATA[<p>Hallo,</p>
<p>bei meinen weiteren Experimenten mit Bitmaps und C++, bin ich nun auf ein<br />
Problem mit dem PixelData &quot;Block&quot; gestoßen. Ich möchte dabei für meine<br />
Pixel Data zufallsgenerierte Zahlen. (bmpFile/Info Header funktionieren)<br />
Hier mein Ansatz (nur für 32x32 BMP - monochrome):</p>
<pre><code>ofstream bmpfile;
	bmpfile.open(filename,  ios::binary | ios::out);
//FileHeader, InfoHeader + RGBQuad
	vector &lt;DWORD&gt; pxData;
	{
		for (int i = 0; i &lt; height; i++)
		{
			UINT32 rnd = rand() % 255 + 1;
			pxData.push_back(rnd);
		}
	}
// [...]
bmpfile.write((char *)&amp;pxData, sizeof(pxData));
</code></pre>
<p>Mein Ziel ist es quasi in den Vektor 4 Byte (UINT32) zu schreiben, welche<br />
zufallsgeneriert werden und das eben für jede Zeile in der Bitmap. Wenn ich<br />
jetzt zum Beispiel 200 als Zahl herausbekomme müssten die 4 Bytes um Nullen<br />
ergänzt werden (also 0xC8 0x00 0x00 0x00). Allerdings bekomme ich beim<br />
betrachten mit dem HexEdit auf andere Zahlen, als die zufallsgenerierten<br />
und bekomme für meine PixelData immer nur auf genau 16 Bytes, egal welche<br />
Höhe (in der for-Schleife). Ausgeben wird es richtig, allerdings nicht<br />
korrekt in die Datei geschrieben, kann mir jemand helfen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruß</p>
<p>Cyax</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/329742/c-bitmap-random-pixeldata</link><generator>RSS for Node</generator><lastBuildDate>Sat, 30 May 2026 22:58:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/329742.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 05 Dec 2014 20:15:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ Bitmap Random PixelData on Fri, 05 Dec 2014 20:15:23 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>bei meinen weiteren Experimenten mit Bitmaps und C++, bin ich nun auf ein<br />
Problem mit dem PixelData &quot;Block&quot; gestoßen. Ich möchte dabei für meine<br />
Pixel Data zufallsgenerierte Zahlen. (bmpFile/Info Header funktionieren)<br />
Hier mein Ansatz (nur für 32x32 BMP - monochrome):</p>
<pre><code>ofstream bmpfile;
	bmpfile.open(filename,  ios::binary | ios::out);
//FileHeader, InfoHeader + RGBQuad
	vector &lt;DWORD&gt; pxData;
	{
		for (int i = 0; i &lt; height; i++)
		{
			UINT32 rnd = rand() % 255 + 1;
			pxData.push_back(rnd);
		}
	}
// [...]
bmpfile.write((char *)&amp;pxData, sizeof(pxData));
</code></pre>
<p>Mein Ziel ist es quasi in den Vektor 4 Byte (UINT32) zu schreiben, welche<br />
zufallsgeneriert werden und das eben für jede Zeile in der Bitmap. Wenn ich<br />
jetzt zum Beispiel 200 als Zahl herausbekomme müssten die 4 Bytes um Nullen<br />
ergänzt werden (also 0xC8 0x00 0x00 0x00). Allerdings bekomme ich beim<br />
betrachten mit dem HexEdit auf andere Zahlen, als die zufallsgenerierten<br />
und bekomme für meine PixelData immer nur auf genau 16 Bytes, egal welche<br />
Höhe (in der for-Schleife). Ausgeben wird es richtig, allerdings nicht<br />
korrekt in die Datei geschrieben, kann mir jemand helfen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Gruß</p>
<p>Cyax</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431384</guid><dc:creator><![CDATA[Cyax]]></dc:creator><pubDate>Fri, 05 Dec 2014 20:15:23 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Bitmap Random PixelData on Fri, 05 Dec 2014 20:21:42 GMT]]></title><description><![CDATA[<p>bmpfile.write((char *)&amp;pxData[0], pxData.size()*sizeof(DWORD));</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431389</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431389</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Fri, 05 Dec 2014 20:21:42 GMT</pubDate></item><item><title><![CDATA[Reply to C++ Bitmap Random PixelData on Sat, 06 Dec 2014 18:39:48 GMT]]></title><description><![CDATA[<p>Danke <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
hat funktioniert...</p>
<p>Gruß</p>
<p>Cyax</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2431503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2431503</guid><dc:creator><![CDATA[Cyax]]></dc:creator><pubDate>Sat, 06 Dec 2014 18:39:48 GMT</pubDate></item></channel></rss>