<?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[TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein.]]></title><description><![CDATA[<p>Hallo ^^,</p>
<p>ich möchte eine vorliegende BMP-Datei (300 dpi) auf einen 600x600 px großen weißen Hintergrund zeichnen und zentrieren, und dann als JPEG-Datei abspeichern.</p>
<p>Im grunde funktioniert das ganze sehr gut, nur setzt er automatisch die dpi-Größe auf 96 Pixel!</p>
<p>Kann ich dem irgendwie entgegen wirken? Oder kennt vielleicht einer ne Klasse, bei welcher die dpi-Größe unberührt bleibt? <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>Hier mein Code:</p>
<pre><code class="language-cpp">// Benötigte Images erstellen
TImage * img1 = new TImage(NULL);
TImage * img2 = new TImage(NULL);

img2-&gt;Width = 600; // Breite des 1. Images festsetzen	
img2-&gt;Height = 600; // Höhe des 1. Images festsetzen	
img2-&gt;Canvas-&gt;Rectangle(-10,-10,1200,1200); // Hintergrund auffüllen
img1-&gt;Picture-&gt;LoadFromFile(&quot;tempimg.bmp&quot;); // Bild laden

// Quell- und Ziel-Rect festlegen und das BMP zentriert zeichnen

TRect Source = Rect(0,0,img1-&gt;Picture-&gt;Width,img1-&gt;Picture-&gt;Height);
TRect Dest   = Rect(300 - ( img1-&gt;Picture-&gt;Width / 2 ),300 - ( img1-&gt;Picture-&gt;Height / 2 ),300 - ( img1-&gt;Picture-&gt;Width / 2 )+img1-&gt;Picture-&gt;Width,300 - ( img1-&gt;Picture-&gt;Height / 2 )+img1-&gt;Picture-&gt;Height);
img2-&gt;Canvas-&gt;FillRect(Source);
img2-&gt;Canvas-&gt;CopyRect(Dest, img1-&gt;Canvas, Source);
img2-&gt;Picture-&gt;SaveToFile(&quot;tempimg.bmp&quot;);

// Das Bild als JPEG komprimieren und speichern

TJPEGImage *Jpeg = new TJPEGImage;

Jpeg-&gt;Assign(img2-&gt;Picture-&gt;Bitmap);
Jpeg-&gt;CompressionQuality = 80;
Jpeg-&gt;Compress();

Jpeg-&gt;SaveToFile(&quot;tempimg.jpg&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/190147/timage-gt-dpi-wird-automatisch-auf-96-gesetzt-soll-300-sein</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 08:28:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190147.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 20 Aug 2007 08:55:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein. on Mon, 20 Aug 2007 08:55:17 GMT]]></title><description><![CDATA[<p>Hallo ^^,</p>
<p>ich möchte eine vorliegende BMP-Datei (300 dpi) auf einen 600x600 px großen weißen Hintergrund zeichnen und zentrieren, und dann als JPEG-Datei abspeichern.</p>
<p>Im grunde funktioniert das ganze sehr gut, nur setzt er automatisch die dpi-Größe auf 96 Pixel!</p>
<p>Kann ich dem irgendwie entgegen wirken? Oder kennt vielleicht einer ne Klasse, bei welcher die dpi-Größe unberührt bleibt? <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>Hier mein Code:</p>
<pre><code class="language-cpp">// Benötigte Images erstellen
TImage * img1 = new TImage(NULL);
TImage * img2 = new TImage(NULL);

img2-&gt;Width = 600; // Breite des 1. Images festsetzen	
img2-&gt;Height = 600; // Höhe des 1. Images festsetzen	
img2-&gt;Canvas-&gt;Rectangle(-10,-10,1200,1200); // Hintergrund auffüllen
img1-&gt;Picture-&gt;LoadFromFile(&quot;tempimg.bmp&quot;); // Bild laden

// Quell- und Ziel-Rect festlegen und das BMP zentriert zeichnen

TRect Source = Rect(0,0,img1-&gt;Picture-&gt;Width,img1-&gt;Picture-&gt;Height);
TRect Dest   = Rect(300 - ( img1-&gt;Picture-&gt;Width / 2 ),300 - ( img1-&gt;Picture-&gt;Height / 2 ),300 - ( img1-&gt;Picture-&gt;Width / 2 )+img1-&gt;Picture-&gt;Width,300 - ( img1-&gt;Picture-&gt;Height / 2 )+img1-&gt;Picture-&gt;Height);
img2-&gt;Canvas-&gt;FillRect(Source);
img2-&gt;Canvas-&gt;CopyRect(Dest, img1-&gt;Canvas, Source);
img2-&gt;Picture-&gt;SaveToFile(&quot;tempimg.bmp&quot;);

// Das Bild als JPEG komprimieren und speichern

TJPEGImage *Jpeg = new TJPEGImage;

Jpeg-&gt;Assign(img2-&gt;Picture-&gt;Bitmap);
Jpeg-&gt;CompressionQuality = 80;
Jpeg-&gt;Compress();

Jpeg-&gt;SaveToFile(&quot;tempimg.jpg&quot;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1347973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1347973</guid><dc:creator><![CDATA[Dan82]]></dc:creator><pubDate>Mon, 20 Aug 2007 08:55:17 GMT</pubDate></item><item><title><![CDATA[Reply to TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein. on Mon, 20 Aug 2007 08:59:56 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>BMPs und auch TImage/TBitmap... haben keine DPI, schließlich gibt es keine physikalischen Grundlagen dafür. DPI-Angaben sind ausschließlich für Ausgaben am Bildschirm und am Drucker sinnvoll.<br />
Du must dich also darum kümmern ein Bitmap der Größe x,y auf eine Fläche der Größe a,b zu skalieren. Und das machst du mit TCanvas::StretchDraw.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1347978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1347978</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 20 Aug 2007 08:59:56 GMT</pubDate></item><item><title><![CDATA[Reply to TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein. on Mon, 20 Aug 2007 09:09:56 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort!</p>
<p>Wenn ich mit StretchDraw zeichne, dann ist das Bild ja entweder gestaucht oder zu groß (verpixelt), also so ähnlich wie CopyRect und wird auch so gespeichert. Aber dadurch ändert sich ja nicht die dpi-Anzahl ^^ Oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1347987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1347987</guid><dc:creator><![CDATA[Dan82]]></dc:creator><pubDate>Mon, 20 Aug 2007 09:09:56 GMT</pubDate></item><item><title><![CDATA[Reply to TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein. on Mon, 20 Aug 2007 09:24:48 GMT]]></title><description><![CDATA[<p>Sry 4 dp, also die Breite (600) berechne ich dann mit</p>
<pre><code>600*300/25,4 (inch = 25,4 mm) = 7086,6141732283464566929133858268
</code></pre>
<p>und die Höhe (600) genau so</p>
<pre><code>600*300/25,4 (inch = 25,4 mm) = 7086,6141732283464566929133858268
</code></pre>
<p>Doch dann wird das Bild ja auch groß gespeichert hmm <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1348001</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1348001</guid><dc:creator><![CDATA[Dan82]]></dc:creator><pubDate>Mon, 20 Aug 2007 09:24:48 GMT</pubDate></item><item><title><![CDATA[Reply to TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein. on Mon, 20 Aug 2007 09:26:44 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Dan82 schrieb:</p>
<blockquote>
<p>Wenn ich mit StretchDraw zeichne, dann ist das Bild ja entweder gestaucht</p>
</blockquote>
<p>Wenn du das Verhältnis von Länge und Breite beibehälst wird nichts gestaucht.</p>
<blockquote>
<p>oder zu groß (verpixelt)</p>
</blockquote>
<p>Ja was soll denn der Computer deiner Meinung nach machen wenn er ein Bild von der Größe 100x100 auf die Größe von 200x200 bringen soll? Klar füllt er die Lücken nach einem gewissen Muster auf. (mit fällt grad nicht das Fachwort ein).<br />
Das das Bild dann unscharf wird ist klar, diesen Effekt hast du auch in einem Bildbearbeitungsprogramm.</p>
<blockquote>
<p>Aber dadurch ändert sich ja nicht die dpi-Anzahl ^^ Oder?</p>
</blockquote>
<p>Nocheinmal : Bitmaps haben keine DPI, nur Länge und Breite in Pixel. Oder zeig mir mal im Arbeitspeicher die Zoll anhand du Bitmaps messen willst...</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1348004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1348004</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Mon, 20 Aug 2007 09:26:44 GMT</pubDate></item><item><title><![CDATA[Reply to TImage -&amp;gt; DPI wird automatisch auf 96 gesetzt - soll 300 sein. on Mon, 20 Aug 2007 09:34:41 GMT]]></title><description><![CDATA[<p>Ok, dann ist es also eigendlich garnicht möglich das Bild über TImage zu bearbeiten ohne einen &quot;DPI-Verlust&quot; zu erleiden? Also bring ja auch nicht das nachträgliche vergrößern was, da das Bild beim Laden ja schon auf 96 DPI gerechnet wird? ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1348017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1348017</guid><dc:creator><![CDATA[Dan82]]></dc:creator><pubDate>Mon, 20 Aug 2007 09:34:41 GMT</pubDate></item></channel></rss>