<?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[Grafiken besser skalieren (resample)?]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin gerade dabei ein Programm zu schreiben, welches Bilder <strong>kleiner</strong> skalieren soll.</p>
<p>Ich habe hierfür die Vorlage aus der <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39239.html" rel="nofollow">FAQ</a> genommen, doch das Ergebnis ist <a href="http://show.freehost.ag/prog_bcb.jpg" rel="nofollow">leider nicht so der bringer</a> im Vergleich mit anderen Alternativen wie einen <a href="http://show.freehost.ag/prog_grafic.JPG" rel="nofollow">Grafikprogramm</a> oder <a href="http://show.freehost.ag/prog_php.jpg" rel="nofollow">PHP (Funktion imageCopyResampled())</a>.</p>
<p>Hier erstmal mein derzeit verwendeter Code:</p>
<pre><code class="language-cpp">TRect ARect;
Graphics::TBitmap *bmp = new Graphics::TBitmap();
TJPEGImage *jpg = new TJPEGImage();

jpg-&gt;LoadFromFile(&quot;D:\\test.jpg&quot;);

// gewünschte neue Abmessungen festlegen
bmp-&gt;Width = 520;
bmp-&gt;Height = 347;

// Rect mit den gleichen Abmessungen definieren und das per
// StretchDraw vergrösserte JPEG auf das Bitmap zeichnen
ARect = Rect(0, 0, 520, 347);
bmp-&gt;Canvas-&gt;StretchDraw(ARect, jpg);

// Inhalt des Bitmap auf das JPEG übertragen, speichern
jpg-&gt;Assign(bmp);
jpg-&gt;ProgressiveEncoding = true ;
jpg-&gt;ProgressiveDisplay = true ;
jpg-&gt;Smoothing = true ;
jpg-&gt;CompressionQuality = 100 ;
jpg-&gt;SaveToFile(&quot;d:\\test2.jpg&quot;);

delete jpg;
delete bmp;
</code></pre>
<p>Wäre toll, wenn einer von Euch eine Alternative kennen würde.</p>
<p>Das Ausgangsbild hat eine Auflösung von 3888x2592 Pixeln.</p>
<p>Viele Grüße<br />
Heinz</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/173696/grafiken-besser-skalieren-resample</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 15:51:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/173696.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Feb 2007 23:23:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Grafiken besser skalieren (resample)? on Sun, 18 Feb 2007 23:23:12 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich bin gerade dabei ein Programm zu schreiben, welches Bilder <strong>kleiner</strong> skalieren soll.</p>
<p>Ich habe hierfür die Vorlage aus der <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39239.html" rel="nofollow">FAQ</a> genommen, doch das Ergebnis ist <a href="http://show.freehost.ag/prog_bcb.jpg" rel="nofollow">leider nicht so der bringer</a> im Vergleich mit anderen Alternativen wie einen <a href="http://show.freehost.ag/prog_grafic.JPG" rel="nofollow">Grafikprogramm</a> oder <a href="http://show.freehost.ag/prog_php.jpg" rel="nofollow">PHP (Funktion imageCopyResampled())</a>.</p>
<p>Hier erstmal mein derzeit verwendeter Code:</p>
<pre><code class="language-cpp">TRect ARect;
Graphics::TBitmap *bmp = new Graphics::TBitmap();
TJPEGImage *jpg = new TJPEGImage();

jpg-&gt;LoadFromFile(&quot;D:\\test.jpg&quot;);

// gewünschte neue Abmessungen festlegen
bmp-&gt;Width = 520;
bmp-&gt;Height = 347;

// Rect mit den gleichen Abmessungen definieren und das per
// StretchDraw vergrösserte JPEG auf das Bitmap zeichnen
ARect = Rect(0, 0, 520, 347);
bmp-&gt;Canvas-&gt;StretchDraw(ARect, jpg);

// Inhalt des Bitmap auf das JPEG übertragen, speichern
jpg-&gt;Assign(bmp);
jpg-&gt;ProgressiveEncoding = true ;
jpg-&gt;ProgressiveDisplay = true ;
jpg-&gt;Smoothing = true ;
jpg-&gt;CompressionQuality = 100 ;
jpg-&gt;SaveToFile(&quot;d:\\test2.jpg&quot;);

delete jpg;
delete bmp;
</code></pre>
<p>Wäre toll, wenn einer von Euch eine Alternative kennen würde.</p>
<p>Das Ausgangsbild hat eine Auflösung von 3888x2592 Pixeln.</p>
<p>Viele Grüße<br />
Heinz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1230847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1230847</guid><dc:creator><![CDATA[Heinzelmännchen]]></dc:creator><pubDate>Sun, 18 Feb 2007 23:23:12 GMT</pubDate></item><item><title><![CDATA[Reply to Grafiken besser skalieren (resample)? on Wed, 21 Feb 2007 10:54:28 GMT]]></title><description><![CDATA[<p>das was du erreichen willst, ist schon etwas komplizierter. einfaches runterskalieren ohne die pixelfarben anzufassen, liefert halt nur schlechte ergebnisse. um bessere qualität zu erreichen, musst du die neuen pixelwerte aus den alten werten interpolieren.</p>
<p>z.b. mittels einem Lanczos-Filter: <a href="http://en.wikipedia.org/wiki/Lanczos_resampling" rel="nofollow">http://en.wikipedia.org/wiki/Lanczos_resampling</a><br />
ein paar Info und Ergebenisse von Filtern: <a href="http://www.mediachance.com/pbrush/help/resize.html" rel="nofollow">http://www.mediachance.com/pbrush/help/resize.html</a><br />
Pascal-Code zum Resamplen (ziemlich viel, musste mal schauen)<br />
<a href="http://fantasy.myserver.org/trac/kicoy/browser/trunk/lib/kol/KOLGraphicEx.pas?rev=17&amp;format=txt" rel="nofollow">http://fantasy.myserver.org/trac/kicoy/browser/trunk/lib/kol/KOLGraphicEx.pas?rev=17&amp;format=txt</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232472</guid><dc:creator><![CDATA[Sunday]]></dc:creator><pubDate>Wed, 21 Feb 2007 10:54:28 GMT</pubDate></item><item><title><![CDATA[Reply to Grafiken besser skalieren (resample)? on Wed, 21 Feb 2007 13:03:14 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>GDI+ kann auch in verschiedenen Qualitätsstufen Bilder skalieren. Vielleicht ist da die Qualität besser ?!?</p>
<p>Pronto451</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1232581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1232581</guid><dc:creator><![CDATA[Pronto451]]></dc:creator><pubDate>Wed, 21 Feb 2007 13:03:14 GMT</pubDate></item></channel></rss>