<?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[Kennt jemand GDI-Plus?]]></title><description><![CDATA[<p>Hallo</p>
<p>Um ein TIF-Bild in ein Bitmap umzuwandeln, habe ich aus dem Codeguru folgenden Code entnommen und angepasst:</p>
<pre><code class="language-cpp">#include &quot;Gdiplus.h&quot;
        using namespace Gdiplus;
        #pragma comment(lib, &quot;gdiplus.lib&quot;)

        -------------------

    GdiplusStartupInput gdiplusStartupInput; 
    ULONG_PTR gdiplusToken; 
    GdiplusStartup(&amp;gdiplusToken, &amp;gdiplusStartupInput, NULL); 

    Image Im = (L&quot;C:\\Testfile.TIF&quot;);

    CLSID BmpCodec; 
    GetImageCLSID(L&quot;image/bmp&quot;, &amp;BmpCodec); 
    Im.Save(L&quot;C:\\Testfile.bmp&quot;, &amp;BmpCodec, NULL); 

    GdiplusShutdown(gdiplusToken); 

        ---------------

        int GetImageCLSID(const WCHAR* format, CLSID* pCLSID)
        { 

        UINT num = 0; 
        UINT size = 0; 
        ImageCodecInfo* pImageCodecInfo = NULL; 
        GetImageEncodersSize(&amp;num, &amp;size); 
        if(size == 0) 
           return FALSE; 
        pImageCodecInfo = (ImageCodecInfo*)(malloc(size)); 

        if(pImageCodecInfo == NULL) 
           return FALSE; 
        GetImageEncoders(num, size, pImageCodecInfo); 
        for(UINT i = 0; i &lt; num; ++i) 
        { 
           if( wcscmp(pImageCodecInfo[i].MimeType, format) == 0 ) 
           { 
               *pCLSID = pImageCodecInfo[i].Clsid; 
               free(pImageCodecInfo); 
               return TRUE; 
           } 
        } 
        free(pImageCodecInfo); 
        return FALSE; 
}
</code></pre>
<p>Funktioniert auch alles soweit so gut, aber nachdem das Bitmap erzeugt wurde, kommt im Destruktor von gdiplusbitmap.h</p>
<pre><code class="language-cpp">Image::~Image()
{
    DllExports::GdipDisposeImage(nativeImage); // Hier
}
</code></pre>
<p>folgende Fehlermeldung:</p>
<p>Unbehandelte Ausnahme bei 0x7a0a24f6 in MeinProgramm.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x01cf3994.</p>
<p>Kann jemand damit was anfangen? Ich benutze VS .NET 2002</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/6060/kennt-jemand-gdi-plus</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 14:13:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/6060.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jun 2003 09:31:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kennt jemand GDI-Plus? on Fri, 06 Jun 2003 09:31:00 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Um ein TIF-Bild in ein Bitmap umzuwandeln, habe ich aus dem Codeguru folgenden Code entnommen und angepasst:</p>
<pre><code class="language-cpp">#include &quot;Gdiplus.h&quot;
        using namespace Gdiplus;
        #pragma comment(lib, &quot;gdiplus.lib&quot;)

        -------------------

    GdiplusStartupInput gdiplusStartupInput; 
    ULONG_PTR gdiplusToken; 
    GdiplusStartup(&amp;gdiplusToken, &amp;gdiplusStartupInput, NULL); 

    Image Im = (L&quot;C:\\Testfile.TIF&quot;);

    CLSID BmpCodec; 
    GetImageCLSID(L&quot;image/bmp&quot;, &amp;BmpCodec); 
    Im.Save(L&quot;C:\\Testfile.bmp&quot;, &amp;BmpCodec, NULL); 

    GdiplusShutdown(gdiplusToken); 

        ---------------

        int GetImageCLSID(const WCHAR* format, CLSID* pCLSID)
        { 

        UINT num = 0; 
        UINT size = 0; 
        ImageCodecInfo* pImageCodecInfo = NULL; 
        GetImageEncodersSize(&amp;num, &amp;size); 
        if(size == 0) 
           return FALSE; 
        pImageCodecInfo = (ImageCodecInfo*)(malloc(size)); 

        if(pImageCodecInfo == NULL) 
           return FALSE; 
        GetImageEncoders(num, size, pImageCodecInfo); 
        for(UINT i = 0; i &lt; num; ++i) 
        { 
           if( wcscmp(pImageCodecInfo[i].MimeType, format) == 0 ) 
           { 
               *pCLSID = pImageCodecInfo[i].Clsid; 
               free(pImageCodecInfo); 
               return TRUE; 
           } 
        } 
        free(pImageCodecInfo); 
        return FALSE; 
}
</code></pre>
<p>Funktioniert auch alles soweit so gut, aber nachdem das Bitmap erzeugt wurde, kommt im Destruktor von gdiplusbitmap.h</p>
<pre><code class="language-cpp">Image::~Image()
{
    DllExports::GdipDisposeImage(nativeImage); // Hier
}
</code></pre>
<p>folgende Fehlermeldung:</p>
<p>Unbehandelte Ausnahme bei 0x7a0a24f6 in MeinProgramm.exe: 0xC0000005: Zugriffsverletzung-Leseposition 0x01cf3994.</p>
<p>Kann jemand damit was anfangen? Ich benutze VS .NET 2002</p>
<p>Vielen Dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29402</guid><dc:creator><![CDATA[Plotter]]></dc:creator><pubDate>Fri, 06 Jun 2003 09:31:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kennt jemand GDI-Plus? on Fri, 06 Jun 2003 09:57:00 GMT]]></title><description><![CDATA[<p>Setz mal die vier Zeilen zwischen GdiplusStartup und GdiplusShutdown in einen {}-Block.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29403</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29403</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Fri, 06 Jun 2003 09:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kennt jemand GDI-Plus? on Fri, 06 Jun 2003 11:21:00 GMT]]></title><description><![CDATA[<p>Hey genial, hat geklappt. Danke vielmals!</p>
<p>Kannst du mir aber noch verklickern, warum das was gebracht hat?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29404</guid><dc:creator><![CDATA[Plotter]]></dc:creator><pubDate>Fri, 06 Jun 2003 11:21:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kennt jemand GDI-Plus? on Fri, 06 Jun 2003 13:56:00 GMT]]></title><description><![CDATA[<blockquote>
<p>// fülle Schwimmbecken mit Wasser<br />
GdiplusStartup(&amp;gdiplusToken, &amp;gdiplusStartupInput, NULL);</p>
<p>// schwimme<br />
Image Im = (L&quot;C:\\Testfile.TIF&quot;);<br />
CLSID BmpCodec;<br />
GetImageCLSID(L&quot;image/bmp&quot;, &amp;BmpCodec);<br />
Im.Save(L&quot;C:\\Testfile.bmp&quot;, &amp;BmpCodec, NULL);</p>
<p>// entferne Wasser<br />
GdiplusShutdown(gdiplusToken);<br />
// Error: Schwimmen nicht möglich</p>
</blockquote>
<p>In geschweiften Klammern wird am Ende das Objekt zerstört -&gt; der Schwimmer steigt von alleine aus dem Wasser, bevor das Wasser entfernt wurde</p>
<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="😉"
    /> <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/29405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29405</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 06 Jun 2003 13:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kennt jemand GDI-Plus? on Fri, 06 Jun 2003 14:04:00 GMT]]></title><description><![CDATA[<p>Naja, ich glaube, in deinem Büro ist es etwas warm und du träumst nur noch davon, möglichst bald ins kühle Nass springen zu können <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="🙂"
    /> (nur zu verständlich)</p>
<p>Ich hoffe jedenfalls, dass ich es verstanden habe.<br />
Danke and have a nice and long weekend!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/29406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29406</guid><dc:creator><![CDATA[Plotter]]></dc:creator><pubDate>Fri, 06 Jun 2003 14:04:00 GMT</pubDate></item><item><title><![CDATA[Reply to Kennt jemand GDI-Plus? on Fri, 06 Jun 2003 14:18:00 GMT]]></title><description><![CDATA[<blockquote>
<p>ich glaube, in deinem Büro ist es etwas warm</p>
</blockquote>
<p>Ja, es ist verdammt warm <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/29407</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/29407</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Fri, 06 Jun 2003 14:18:00 GMT</pubDate></item></channel></rss>