<?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[Ipicture als jpg speichern]]></title><description><![CDATA[<p>Hallo,<br />
ein Bild wird aus einem Dialog ausgewählt und in meinem Picture Control als IPicture dargestellt.<br />
Das geschicht mit der Funktion render. Jetzt vergrößere ich den Bildausschnitt auch mit Render. Der nun dargestellte Bildausschnitt soll als jpg auf der Platte gespeichert werden, so dass ich damit weiter arbeiten kann.<br />
Hier mein Code. Ich hoffe die KOmmentare sind verständlich <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>
<p>Danke</p>
<pre><code class="language-cpp">CBitmap bmp; // Bitmap for our picture
  if (bmp.CreateBitmap(240,240,1,24,NULL))
  {
    CDC dcMemory;
    dcMemory.CreateCompatibleDC(NULL);

    HDC hDC = dcMemory.GetSafeHdc();
    long hmWeite;
		long hmHoehe;
		CRect zeichenflaeche(0,0,239,239);
		pIPic-&gt;get_Width(&amp;hmWeite);
		pIPic-&gt;get_Height(&amp;hmHoehe);

    if (hmHoehe &lt; hmWeite)  //Querformat
		{
      double f = m_mode[m_modeVar];
      long Hoehe = zeichenflaeche.Height();
      long Breite= zeichenflaeche.Width();
			pIPic-&gt;Render(hDC,
			zeichenflaeche.left,
                        zeichenflaeche.top, 
			240, //zeichenflaeche.Width(), 
			240, //zeichenflaeche.Height(),					                       (hmWeite-f*hmHoehe)/2,  // horizontaler Offset im original Bild
			hmHoehe-(hmHoehe-f*hmHoehe)/2,  // vertikaler Offset im original Bild
			f*hmHoehe, // wie viel vom ori ginal Bild ausgeschnitten werden soll - horizontal
			-f*hmHoehe, // wie viel vom original Bild ausgeschnitten werden soll - vertikal
			NULL);
		}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/155741/ipicture-als-jpg-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 25 Jul 2026 07:05:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/155741.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Aug 2006 08:58:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ipicture als jpg speichern on Wed, 09 Aug 2006 08:58:45 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ein Bild wird aus einem Dialog ausgewählt und in meinem Picture Control als IPicture dargestellt.<br />
Das geschicht mit der Funktion render. Jetzt vergrößere ich den Bildausschnitt auch mit Render. Der nun dargestellte Bildausschnitt soll als jpg auf der Platte gespeichert werden, so dass ich damit weiter arbeiten kann.<br />
Hier mein Code. Ich hoffe die KOmmentare sind verständlich <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>
<p>Danke</p>
<pre><code class="language-cpp">CBitmap bmp; // Bitmap for our picture
  if (bmp.CreateBitmap(240,240,1,24,NULL))
  {
    CDC dcMemory;
    dcMemory.CreateCompatibleDC(NULL);

    HDC hDC = dcMemory.GetSafeHdc();
    long hmWeite;
		long hmHoehe;
		CRect zeichenflaeche(0,0,239,239);
		pIPic-&gt;get_Width(&amp;hmWeite);
		pIPic-&gt;get_Height(&amp;hmHoehe);

    if (hmHoehe &lt; hmWeite)  //Querformat
		{
      double f = m_mode[m_modeVar];
      long Hoehe = zeichenflaeche.Height();
      long Breite= zeichenflaeche.Width();
			pIPic-&gt;Render(hDC,
			zeichenflaeche.left,
                        zeichenflaeche.top, 
			240, //zeichenflaeche.Width(), 
			240, //zeichenflaeche.Height(),					                       (hmWeite-f*hmHoehe)/2,  // horizontaler Offset im original Bild
			hmHoehe-(hmHoehe-f*hmHoehe)/2,  // vertikaler Offset im original Bild
			f*hmHoehe, // wie viel vom ori ginal Bild ausgeschnitten werden soll - horizontal
			-f*hmHoehe, // wie viel vom original Bild ausgeschnitten werden soll - vertikal
			NULL);
		}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1113528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1113528</guid><dc:creator><![CDATA[Eva25]]></dc:creator><pubDate>Wed, 09 Aug 2006 08:58:45 GMT</pubDate></item></channel></rss>