<?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[in ein hdc ohne hwnd zeichnen!]]></title><description><![CDATA[<p>Nabend,</p>
<p>ich habe hier ein riesen Problem. Mal nen bisschen was zu meinem Programm.</p>
<p>Ich sitze grade an einem Konsolenprogramm (32Bit - nicht MFC), welches mir ein Bitmap einliest und dann neu aufbaut und abspeichert.</p>
<p>Dazu wird das Bitmap mit</p>
<pre><code>HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,&quot;raw.bmp&quot;,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC hdcMem = CreateCompatibleDC(NULL); 
HBITMAP hBSO = (HBITMAP) SelectObject(hdcMem,hBitmap);
</code></pre>
<p>als hdc in den Speicher geschrieben.</p>
<p>Dann sollte er zeichnen.</p>
<p>Zum Schluss meiner Void wird dann das hdc in ein hbitmap mittels der int dc2bitmap aus eurer FAQ in eine Datei geschrieben. Und zwar so hier:</p>
<pre><code>dc2bitmap(hdcMem,corr_x,corr_y,&quot;corr.bmp&quot;); 
SelectObject(hdcMem,hBSO);
</code></pre>
<p>Klappt alles wunderbar, bis auf den Nachteil, dass die Gurke nicht zeichnen will. Füge ich z.B. Text ein (mittels textout...) dann klappt das wunderbar und der Text taucht vorschriftsmäßig im neuen Bitmpat auf. Aber die Methode SetPixel klappt nicht.</p>
<p>So einen kleinen Ansatz habe ich schon, da ich SetPixel nur in Verwendung mit BeginPaint und EndPaint kenne. Diese beiden Methoden brauchen aber ein hWnd. Und dieses habe ich nicht. Wo bekomme ich das her, so dass mein SetPixel funktioniert bzw. wie kann ich in ein HDC ohne HWND zeichnen?</p>
<p>Ich hoffe ihr könnt' mir weiterhelfen. Ich stehe hier voll auf dem Schlauch.</p>
<p>cya <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/topic/89780/in-ein-hdc-ohne-hwnd-zeichnen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 20:22:08 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/89780.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 22 Oct 2004 16:36:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Fri, 22 Oct 2004 16:36:51 GMT]]></title><description><![CDATA[<p>Nabend,</p>
<p>ich habe hier ein riesen Problem. Mal nen bisschen was zu meinem Programm.</p>
<p>Ich sitze grade an einem Konsolenprogramm (32Bit - nicht MFC), welches mir ein Bitmap einliest und dann neu aufbaut und abspeichert.</p>
<p>Dazu wird das Bitmap mit</p>
<pre><code>HBITMAP hBitmap = (HBITMAP)LoadImage(NULL,&quot;raw.bmp&quot;,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC hdcMem = CreateCompatibleDC(NULL); 
HBITMAP hBSO = (HBITMAP) SelectObject(hdcMem,hBitmap);
</code></pre>
<p>als hdc in den Speicher geschrieben.</p>
<p>Dann sollte er zeichnen.</p>
<p>Zum Schluss meiner Void wird dann das hdc in ein hbitmap mittels der int dc2bitmap aus eurer FAQ in eine Datei geschrieben. Und zwar so hier:</p>
<pre><code>dc2bitmap(hdcMem,corr_x,corr_y,&quot;corr.bmp&quot;); 
SelectObject(hdcMem,hBSO);
</code></pre>
<p>Klappt alles wunderbar, bis auf den Nachteil, dass die Gurke nicht zeichnen will. Füge ich z.B. Text ein (mittels textout...) dann klappt das wunderbar und der Text taucht vorschriftsmäßig im neuen Bitmpat auf. Aber die Methode SetPixel klappt nicht.</p>
<p>So einen kleinen Ansatz habe ich schon, da ich SetPixel nur in Verwendung mit BeginPaint und EndPaint kenne. Diese beiden Methoden brauchen aber ein hWnd. Und dieses habe ich nicht. Wo bekomme ich das her, so dass mein SetPixel funktioniert bzw. wie kann ich in ein HDC ohne HWND zeichnen?</p>
<p>Ich hoffe ihr könnt' mir weiterhelfen. Ich stehe hier voll auf dem Schlauch.</p>
<p>cya <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/635228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635228</guid><dc:creator><![CDATA[Marco_ohne_Keks]]></dc:creator><pubDate>Fri, 22 Oct 2004 16:36:51 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Fri, 22 Oct 2004 16:54:57 GMT]]></title><description><![CDATA[<p>Auch wenn es ein Konsolenprogramm ist gehts hier wohl eindeutig um WinAPI, ich werde dich verschieben <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="🙂"
    /></p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/635246</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635246</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Fri, 22 Oct 2004 16:54:57 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Fri, 22 Oct 2004 16:56:07 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=2822" rel="nofollow">SideWinder</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=13" rel="nofollow">DOS und Win32-Konsole</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/635250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635250</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 22 Oct 2004 16:56:07 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Fri, 22 Oct 2004 22:30:52 GMT]]></title><description><![CDATA[<p>LoadImage() liefert ein Handle welches du ja nach HBITMAP castes, na leuchtet jetzt die Lampen wie du an einem HWND kommst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/635435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635435</guid><dc:creator><![CDATA[MiC++ha]]></dc:creator><pubDate>Fri, 22 Oct 2004 22:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Sat, 23 Oct 2004 08:01:22 GMT]]></title><description><![CDATA[<p>Moin und Danke erstmal für deine schnelle Antwort.</p>
<p>Wenn ich dich richtig verstanden habe, dann lade ich das Bitmap nicht in das hdcMem vom Typ HDC sondern in ein HWD.</p>
<p>Habs hiermit probiert</p>
<pre><code>HWND hwnd = (HWND)LoadImage(NULL,&quot;raw.bmp&quot;,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
</code></pre>
<p>Dann steht mein Bitmap in einem HWND, es muss aber hinterher wieder in einem HDC stehen, weil ich es mit der INT dc2bitmap() aus eurer FAQ zurück in ein Bitmap schreibe.</p>
<p>Ich stehe hier auf dem Schlauch, ich habe die letzten Tage und Nächte so oft vor dem Quelltext gehangen, ich weiß schon nicht mehr wo vorn und hinten ist!</p>
<p>cya <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/635496</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635496</guid><dc:creator><![CDATA[Marco_ohne_Keks]]></dc:creator><pubDate>Sat, 23 Oct 2004 08:01:22 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Sat, 23 Oct 2004 08:19:35 GMT]]></title><description><![CDATA[<p>Eigentlich müsste SetPixel() auch mit hdcMem funktionieren...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/635503</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635503</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 23 Oct 2004 08:19:35 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Sat, 23 Oct 2004 08:24:21 GMT]]></title><description><![CDATA[<p>Ich bins nochmal,</p>
<p>ich habe grad ein wenig herumexperimentiert aber es bleibt dabei. Textout funktioniert und Setpixel funktioniert nicht.</p>
<p>Ich habs so hier probiert.</p>
<pre><code>HWND hBitmap1 = (HWND)LoadImage(NULL,&quot;raw.bmp&quot;,IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
HDC hdcMem1 = CreateCompatibleDC(NULL); 
HBITMAP hBSO1 = (HBITMAP) SelectObject(hdcMem1,hBitmap1); 

PAINTSTRUCT ps;

for(int i=0;i&lt;300;i++)
{  BeginPaint(hBitmap1, &amp;ps);
     SetPixel(hdcMem1,10,i,RGB(234,234,234));
     TextOut(hdcMem1,10,10,&quot;hallo&quot;,5);
   EndPaint (hBitmap1, &amp;ps);
}

dc2bitmap(hdcMem1,500,500,&quot;corr.bmp&quot;); 
SelectObject(hdcMem1,hBSO1); 

DeleteObject(hBitmap1);
</code></pre>
<p>So wenn ich nun das Programm laufen habe, dann habe ich ich als Ergebnis nen schwarzes Bitmap der Größe 500x500, bei dem an der Stelle 10,10 der Text &quot;Hallo&quot; steht. Die Linie die er zeichnen sollte fehlt.</p>
<p>cya</p>
]]></description><link>https://www.c-plusplus.net/forum/post/635505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635505</guid><dc:creator><![CDATA[Marco_ohne_Keks]]></dc:creator><pubDate>Sat, 23 Oct 2004 08:24:21 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Sat, 23 Oct 2004 09:29:13 GMT]]></title><description><![CDATA[<p>ES FUNKTIONIERT JAAAAAAAAAAAAAAAAA ES FUNKTIONIERT <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Leute noch mal fettes Mercy für eure Hilfe.</p>
<p>Wenn ich euch sage worans lag, dann steinigt ihr mich bestimmt. <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>
<p>Naja, meine x- und y-Koordinaten wurden in einer for-schleife generiert. Und die y-koordinate wird falsch berechnet und liegt somit nicht im Bildbereich.</p>
<p>Ich weiß, bitte nicht hauen................</p>
<p>Fettes Mercy nochmal.</p>
<p>cya <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/635520</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635520</guid><dc:creator><![CDATA[Marco_ohne_Keks]]></dc:creator><pubDate>Sat, 23 Oct 2004 09:29:13 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Sat, 23 Oct 2004 16:02:16 GMT]]></title><description><![CDATA[<p>Wären zum Linie zeichnen nicht MoveToEx() und LineTo() geeigneter ? (und wahrscheinlich auch schneller...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/635858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/635858</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sat, 23 Oct 2004 16:02:16 GMT</pubDate></item><item><title><![CDATA[Reply to in ein hdc ohne hwnd zeichnen! on Sun, 24 Oct 2004 09:14:32 GMT]]></title><description><![CDATA[<p>Ja zum Linie zeichnen schon, aber mein Programm muss was vollkommen anderes machen wobei ich unbedingt Setpixel brauchte.</p>
<p>Schonmal was von verwackelten Luftbildaufnahmen gehört die wieder gerichtet werden müssen.</p>
<p>Deshalb musste ich das Ausgangsbild pixelweise durchforsten und dann jedes Pixel drehen, Farbwert bestimmen und wieder in ein neues Bild setzen.</p>
<p>So und der Algorithmus oben sollte erstmal nur testen, ob SetPixel überhaupt so funktioniert wie ich mir das vorstelle.</p>
<p>cya <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/636149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/636149</guid><dc:creator><![CDATA[Marco_ohne_Keks]]></dc:creator><pubDate>Sun, 24 Oct 2004 09:14:32 GMT</pubDate></item></channel></rss>