<?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[Performantes Anzeigen von JPGs im Dialog möglich?]]></title><description><![CDATA[<p>N'Abend zusammen,</p>
<p>Folgendes Problem: Ich würde gerne JPGs im Rahmen einer dialogbasierten MFC-<br />
Anwendung anzeigen lassen (B: 32, H:32, insgesamt ca. 500 Bilder) und verwende<br />
dazu den ausgebesserten Code von <strong>Isabeau</strong>:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=1478&amp;highlight=gif" rel="nofollow">Hier nachzulesen</a></p>
<p>Ich müsste ein Gitter aus 21 * 21 Bildern anzeigen und darüberhinaus noch etvl.<br />
einige weitere Bilder. Meine Frage dazu: Kann man das ganze irgendwie<br />
performanter / schneller machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/46359/performantes-anzeigen-von-jpgs-im-dialog-möglich</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 23:51:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/46359.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 18 Aug 2003 22:22:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Mon, 18 Aug 2003 22:22:16 GMT]]></title><description><![CDATA[<p>N'Abend zusammen,</p>
<p>Folgendes Problem: Ich würde gerne JPGs im Rahmen einer dialogbasierten MFC-<br />
Anwendung anzeigen lassen (B: 32, H:32, insgesamt ca. 500 Bilder) und verwende<br />
dazu den ausgebesserten Code von <strong>Isabeau</strong>:</p>
<p><a href="http://www.c-plusplus.net/forum/viewtopic.php?t=1478&amp;highlight=gif" rel="nofollow">Hier nachzulesen</a></p>
<p>Ich müsste ein Gitter aus 21 * 21 Bildern anzeigen und darüberhinaus noch etvl.<br />
einige weitere Bilder. Meine Frage dazu: Kann man das ganze irgendwie<br />
performanter / schneller machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/335519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/335519</guid><dc:creator><![CDATA[Khadgar]]></dc:creator><pubDate>Mon, 18 Aug 2003 22:22:16 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Tue, 19 Aug 2003 06:07:35 GMT]]></title><description><![CDATA[<p>Du könntest erst alle Bilder laden und in ein Hintergrundbild zeichnen, bevor du dieses anzeigst, aber die Zeit zum Laden von JPEGs, die nicht zu unterschätzen ist, bleibt. Es gibt sicherlich Bibliotheken, die sehr schnell sind, aber die sind sicher nicht kostenlos.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/335578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/335578</guid><dc:creator><![CDATA[RenéG]]></dc:creator><pubDate>Tue, 19 Aug 2003 06:07:35 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Tue, 19 Aug 2003 09:52:17 GMT]]></title><description><![CDATA[<p>Hi RenèG,</p>
<p>danke für deine Antwort!<br />
Hast du denn evtl. eine Idee wo man sich zwecks solcher Bibliotheken umsehen<br />
könnte?</p>
<p>Gruß,<br />
Khadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/335719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/335719</guid><dc:creator><![CDATA[Khadgar]]></dc:creator><pubDate>Tue, 19 Aug 2003 09:52:17 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Wed, 20 Aug 2003 00:16:51 GMT]]></title><description><![CDATA[<p>Ok,<br />
das Problem hat sich erledigt <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>Wen's interessiert:</p>
<p>In die Header-Datei muss:</p>
<pre><code class="language-cpp">IPicture * bilderArray[100];    // Liste der verfügbaren Bilder
void InitBitmaps();             // Hier werden die Bitmaps geladen
</code></pre>
<p>In die CPP-Datei muss:</p>
<pre><code class="language-cpp">void MyDlg::InitBitmaps()
{
	CString pfad;
	LPCTSTR pBild;
	for (int i = 0; i &lt; 100; i++)
	{
		pfad = meineGrafikenArray[i];
		pBild = pfad;
		USES_CONVERSION;
		OleLoadPicturePath(const_cast&lt;LPOLESTR&gt;(T2COLE(pBild)), 0, 0, 0, IID_IPicture,(void **)&amp;m_bild);
		meineBilderArray[i] = m_bild;
	}
}
</code></pre>
<p>Diese Methode wird nun in der OnInit-Funktion aufgerufen.</p>
<p>Um das Bild zu zeichnen wird nun DrawImage wie folgt aufgerufen:</p>
<pre><code class="language-cpp">DrawImage(meineBilderArray[i], pX, pY, breite, hoehe);
</code></pre>
<p>Die gesamte Arbeit die Bilder zu laden passiert nun einmal zum Programmstart<br />
und nicht bei jedem zu zeichnenden Bild aufs neue.</p>
<p>(In meinem Beispiel der ca. 500 Bilder ist der Bildaufbau nicht mehr bemerktbar)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/336432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/336432</guid><dc:creator><![CDATA[Khadgar]]></dc:creator><pubDate>Wed, 20 Aug 2003 00:16:51 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Wed, 20 Aug 2003 07:41:04 GMT]]></title><description><![CDATA[<p>@ Khadgar:</p>
<p>Hallo !</p>
<p>Du hast mir eine Mail geschrieben. Allerdings hat firemail kürzlich ein Update drauf gespielt und jetzt wird dort der IE 6 benötigt, ich habe aber nur den 5, kann also nicht über Mail antworten...</p>
<p>Zum Thema:<br />
bei mir funktioniert das auch mit GIFs. Wenn es bei dir nicht klappt, hat das GIF evtl. eine Macke. Probier doch mal ein anderes aus. Mehr fällt mir dazu leider auch nicht ein...</p>
<p>Tschüss</p>
]]></description><link>https://www.c-plusplus.net/forum/post/336500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/336500</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Wed, 20 Aug 2003 07:41:04 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Wed, 20 Aug 2003 16:45:32 GMT]]></title><description><![CDATA[<p>Hi Isabeau,</p>
<p>danke für deine Antwort.<br />
Ich werde mal probieren 'andere' Gif's zu erzeugen, denn immer wenn ich der<br />
DrawImage Funktion ein Gif übergeben schmiert die Anwendung mit einem &quot;Pointer-<br />
Fehler&quot; (Anwendung XY versucht auf Speicherbereich AB zuzugreifen) ab.</p>
<p>Kannst du mir ansonsten evtl. mal ein GIF schicken welches bei dir den<br />
Lauf überstanden hat? Mag ja auch an meiner Konstruktion liegen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Danke,<br />
Khadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337035</guid><dc:creator><![CDATA[Khadgar]]></dc:creator><pubDate>Wed, 20 Aug 2003 16:45:32 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Thu, 21 Aug 2003 07:34:50 GMT]]></title><description><![CDATA[<p>Wie da oben schon gesagt, kann ich momentan nix verschicken. Das sollte aber auch nicht das Problem sein, weil schon beim Betriebssystem jede Menge GIFs dabei sind (such mal auf deinem Rechner nach *.gif). Ich dachte nur, das du immer nur mit einem bestimmten GIF probierst, das evtl. aus dem Internet kommt und einen Ladefehler hat.<br />
Wie gesagt: bei mir läuft das auch mit GIFs wie in dem Beispiel beschrieben. Dein Absturz muss an etwas anderem liegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337411</guid><dc:creator><![CDATA[isabeau]]></dc:creator><pubDate>Thu, 21 Aug 2003 07:34:50 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Thu, 21 Aug 2003 10:59:54 GMT]]></title><description><![CDATA[<p>Hi Isabeau,</p>
<p>ich habe das jetzt mal mit folgenden Einstellungen probiert:<br />
Gifs mit Alphatransparenz, mit Indextransparenz und ohne Transparenz in fast<br />
allen möglichen Farben (2 bis 256) und das Ergebnis ist immer das selbe:<br />
&quot;Die Anweisung in XY verweist auf Speicher 0x00000000&quot;. Der Vorgang &quot;read&quot;<br />
konnte nicht auf dem Speicher durchgeführt werden.&quot;</p>
<p>Mein Sourcecode sieht wie folgt aus (ist zwar häßlich, dient aber nur um GIF's<br />
zu testen):</p>
<pre><code class="language-cpp">void CMORK_LEVELDITORDlg::TesteGifs()
{
	CString gifs[10];
	gifs[0] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_2_alpha.gif&quot;;
	gifs[1] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_32_alpha.gif&quot;;
	gifs[2] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_128_alpha.gif&quot;;
	gifs[3] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_256_alpha.gif&quot;;
	gifs[4] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_16_index.gif&quot;;
	gifs[5] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_64_index.gif&quot;;
	gifs[6] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_128_index.gif&quot;;
	gifs[7] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_256_index.gif&quot;;
	gifs[8] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_128_kein.gif&quot;;
	gifs[9] = &quot;D:\\C++\\Programme\\MORK_LEVELDITOR\\img\\gif\\gif_256_kein.gif&quot;;

	IPicture * gifArray[10];

	CString pfad;
	LPCTSTR pBild;
	for (int i = 0; i &lt; 10; i++)
	{
		pfad = gifs[i];
		pBild = pfad;
		USES_CONVERSION;
		OleLoadPicturePath(const_cast&lt;LPOLESTR&gt;(T2COLE(pBild)), 0, 0, 0, IID_IPicture,(void **)&amp;m_bild);
		gifArray[i] = m_bild;
	}

	ZeichneBild(gifArray[9], m_iRandObenPixel, m_iRandLinksPixel, 32, 32);
}
</code></pre>
<p>Wobei &quot;ZeichneBild(gifArray[n]...);&quot; in jedem Durchlauf von mir per Hand aus-<br />
getauscht wurde.</p>
<pre><code class="language-cpp">void CMORK_LEVELDITORDlg::ZeichneBild(IPicture *bild, int pX, int pY, int pBreite, int pHoehe)
{ 
    CClientDC dc(this); 
    CRect rc; 
    GetClientRect(&amp;rc); 
    OLE_XSIZE_HIMETRIC width; 
    OLE_YSIZE_HIMETRIC height; 
    bild-&gt;get_Width(&amp;width); 
    bild-&gt;get_Height(&amp;height); 
    int x = 0, y = 0, size_x = width*96/2540, size_y = height*96/2540;  
    bild-&gt;Render(dc, pX, pY, pBreite, pHoehe, 0, height, width, -height, &amp;rc); 
}
</code></pre>
<p>[edit] Der Vollständigkeit halber habe ich die ZeichneBild-Methode noch eben<br />
angefügt. [/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/337600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337600</guid><dc:creator><![CDATA[Khadgar]]></dc:creator><pubDate>Thu, 21 Aug 2003 10:59:54 GMT</pubDate></item><item><title><![CDATA[Reply to Performantes Anzeigen von JPGs im Dialog möglich? on Thu, 21 Aug 2003 11:20:48 GMT]]></title><description><![CDATA[<p>*vorfreudhinundherspring*<br />
Ok. Ich habs nun auf die Reihe bekommen. Danke Euch allen, vor allem dir <strong>isabeau</strong> für deine Hinweise <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>
]]></description><link>https://www.c-plusplus.net/forum/post/337620</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/337620</guid><dc:creator><![CDATA[Khadgar]]></dc:creator><pubDate>Thu, 21 Aug 2003 11:20:48 GMT</pubDate></item></channel></rss>