<?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[Frage zu Image objekt und GDI+]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bastle gerade an einem simplen Mal-PRG wo man einen<br />
markierten Bereich unter Angabe des Drehpunkts frei<br />
(360 Grad) drehen lassen kann.</p>
<p>Zu diesem Zwecke ist die Gdiplus::Graphics::DrawImage Methode<br />
(die wo man die Eckpunkte angibt) sehr nützlich.<br />
Diese Methode braucht aber ein Objekt vom Typ Gdiplus::Image.<br />
Ich habe folgendes Problem, die Klasse Gdiplus::Image hat<br />
zwei Konstruktoren die beide die Angabe eines Pfads be-<br />
nötigen.<br />
Momentan mache ich das so, ich mache aus dem markierten<br />
Bereich ein Bitmap und speichere es. Dann lade ich das<br />
Bitmap mittels des erwähnten Konstruktors und stelle es<br />
verdreht dar. Nun möchte ich mein 'temp.bmp' löschen,<br />
doch das geht nicht, weil 'ein anderes Prg das nutzt'.<br />
Selbst wenn ich mein Visual C++ 2003 schliesse kann ich<br />
die erwähnte 'temp.bmp' nicht löschen, erst ein Neustart<br />
macht das möglich.</p>
<p>Meine Frage daher, wie kann ich die daten eines CBitmap's<br />
in einem Gdiplus::Image kopieren, ohne den umständlichen Weg<br />
'Datei speichern/laden'?????????????????????????????????????<br />
<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="🙂"
    /> <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="🙂"
    /> <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>Im vorraus vielen Rank<br />
Rob</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/150548/frage-zu-image-objekt-und-gdi</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Jul 2026 13:45:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/150548.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 Jun 2006 18:52:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Image objekt und GDI+ on Sat, 17 Jun 2006 18:52:33 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bastle gerade an einem simplen Mal-PRG wo man einen<br />
markierten Bereich unter Angabe des Drehpunkts frei<br />
(360 Grad) drehen lassen kann.</p>
<p>Zu diesem Zwecke ist die Gdiplus::Graphics::DrawImage Methode<br />
(die wo man die Eckpunkte angibt) sehr nützlich.<br />
Diese Methode braucht aber ein Objekt vom Typ Gdiplus::Image.<br />
Ich habe folgendes Problem, die Klasse Gdiplus::Image hat<br />
zwei Konstruktoren die beide die Angabe eines Pfads be-<br />
nötigen.<br />
Momentan mache ich das so, ich mache aus dem markierten<br />
Bereich ein Bitmap und speichere es. Dann lade ich das<br />
Bitmap mittels des erwähnten Konstruktors und stelle es<br />
verdreht dar. Nun möchte ich mein 'temp.bmp' löschen,<br />
doch das geht nicht, weil 'ein anderes Prg das nutzt'.<br />
Selbst wenn ich mein Visual C++ 2003 schliesse kann ich<br />
die erwähnte 'temp.bmp' nicht löschen, erst ein Neustart<br />
macht das möglich.</p>
<p>Meine Frage daher, wie kann ich die daten eines CBitmap's<br />
in einem Gdiplus::Image kopieren, ohne den umständlichen Weg<br />
'Datei speichern/laden'?????????????????????????????????????<br />
<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="🙂"
    /> <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="🙂"
    /> <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>Im vorraus vielen Rank<br />
Rob</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079655</guid><dc:creator><![CDATA[RobRoy1304]]></dc:creator><pubDate>Sat, 17 Jun 2006 18:52:33 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Image objekt und GDI+ on Sat, 17 Jun 2006 20:16:19 GMT]]></title><description><![CDATA[<p>Es gibt mehrere Image-Klassen, schau mal welche spezialisierten es da noch gibt:</p>
<p>Bitmap und CachedBitmap.</p>
<p>Image und Bitmap sind für deine Zwecke nicht geeignet, da sie zu viel des Guten können. CachedBitmap hat den Vorteil das es sehr schnell ist, weil es sich nicht um Screen-Umstellungen durch den User kümmert.</p>
<p>Was ich nicht ganz verstehe, ist warum du überhaupt eine Image-Klasse benutzen willst? Image-Klassen sind eigentlich nur dafür da, um diese Daten persistent zu machen oder halt persistente Daten in den Speicher zu laden. Aber für reine Laufzeitarbeiten eher nicht.</p>
<p>Geht es dir nur um das Zeichnen im Speicher ohne diese auf Festplatte speichern/laden zu wollen? Dann brauchst du doch nur einen Gdiplus::Graphics-Kontext bzw. du kannst mehrere solcher Kontexte instanzieren und frei auf einem anderen HDC platzieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1079690</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079690</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sat, 17 Jun 2006 20:16:19 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Image objekt und GDI+ on Sun, 18 Jun 2006 10:56:03 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>es geht mir um die Gdiplus::Graphics Methode DrawImage. Diese lässt<br />
sich super für die Rotation nutzen. Im Prinzip geht es mir um<br />
Rotation. Danke für deine Antwort.</p>
<pre><code class="language-cpp">//-
Gdiplus::Point destPoints[3];
Gdiplus::Point* pdestPoints;
Gdiplus::Image image(L&quot;temp.bmp&quot;);
Gdiplus::Graphics g(m_hWnd);
ErrechneWinkel();
m_dWinkel+=270;
if(m_dWinkel&gt;=360)
     m_dWinkel-=360;
ErrechneKoordinaten(destPoints);
g.DrawImage((Gdiplus::Image *)&amp;image, pdestPoints, 3);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1079944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1079944</guid><dc:creator><![CDATA[RobRoy1304]]></dc:creator><pubDate>Sun, 18 Jun 2006 10:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Image objekt und GDI+ on Sun, 18 Jun 2006 18:55:48 GMT]]></title><description><![CDATA[<p>Image lädt bei _jedem_ Zeichenvorgang die Daten deiner BMP-Datei neu. Das ist sehr uneffektiv, wenn du Performance haben willt.</p>
<p>Ich habe dich so verstanden, das du nur wegen der Rotation deine Grafik als Datei speicherst? Finde ich irgendwie sinnlos... kann aber sein, das ich dich total falsch verstanden habe.</p>
<p>Gut, zu deinem eigentlichen Problem: die Datei wird nicht geschlossen, wenn sich deine Anwendung beendet? Eine Hintergrund wäre das du vielleicht die GDI+ nicht deinitialisiert hast?</p>
<pre><code class="language-cpp">GdiplusShutdown(gdiplusToken);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1080201</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1080201</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Sun, 18 Jun 2006 18:55:48 GMT</pubDate></item></channel></rss>