<?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[[GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ...]]></title><description><![CDATA[<pre><code class="language-cpp">bool Bar::draw(Gdiplus::Graphics* graphics)
		{
			if (graphics == NULL)
				return false;

			Gdiplus::SolidBrush brush_bar(Gdiplus::Color(173, 222, 107));
			Gdiplus::SolidBrush brush_caption(Gdiplus::Color(0, 0, 0));

			LONG bar_width = min(static_cast&lt;LONG&gt;((m_rect.right - m_rect.left - m_items.size() * 2) / m_items.size()), 20);
			for (std::size_t bar = 0; bar &lt; m_items.size(); ++bar)
			{
				LONG height = ((m_rect.bottom - m_rect.top) / 100) * m_items[bar].first;
				Gdiplus::RectF rect(static_cast&lt;Gdiplus::REAL&gt;(m_rect.left + static_cast&lt;LONG&gt;(bar) * (bar_width + 2)), static_cast&lt;Gdiplus::REAL&gt;(m_rect.bottom - height), static_cast&lt;Gdiplus::REAL&gt;(bar_width + 2), static_cast&lt;Gdiplus::REAL&gt;(height));
				graphics-&gt;FillRectangle(&amp;brush_bar, rect);
			}

			return true;
		}
</code></pre>
<p>... so diesmal gibt es erst Code <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="😉"
    /><br />
Das ganze ist eine Zeichenfunktion für ein Säulendiagramm. Soweit so gut. Jetzt will ich aber auf die einzellnen Säulen auch noch nen Text schreiben ... gehe ich jetzt aber hin und rufe RotateTransform auf, schreibe den Text, rufe wieder RotateTransform auf, erscheint der TExt nicht, aber die Säulen haben auf einmal nen komischen abstand von einandern ?! Jemand ne Idee warum? Oder wie zeichnen ihr einen gedrehten String? <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/topic/183806/gdiplus-gdiplus-graphics-rotatetransform-gt-std-wstring</link><generator>RSS for Node</generator><lastBuildDate>Mon, 06 Jul 2026 03:09:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/183806.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 08 Jun 2007 20:12:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Fri, 08 Jun 2007 20:12:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool Bar::draw(Gdiplus::Graphics* graphics)
		{
			if (graphics == NULL)
				return false;

			Gdiplus::SolidBrush brush_bar(Gdiplus::Color(173, 222, 107));
			Gdiplus::SolidBrush brush_caption(Gdiplus::Color(0, 0, 0));

			LONG bar_width = min(static_cast&lt;LONG&gt;((m_rect.right - m_rect.left - m_items.size() * 2) / m_items.size()), 20);
			for (std::size_t bar = 0; bar &lt; m_items.size(); ++bar)
			{
				LONG height = ((m_rect.bottom - m_rect.top) / 100) * m_items[bar].first;
				Gdiplus::RectF rect(static_cast&lt;Gdiplus::REAL&gt;(m_rect.left + static_cast&lt;LONG&gt;(bar) * (bar_width + 2)), static_cast&lt;Gdiplus::REAL&gt;(m_rect.bottom - height), static_cast&lt;Gdiplus::REAL&gt;(bar_width + 2), static_cast&lt;Gdiplus::REAL&gt;(height));
				graphics-&gt;FillRectangle(&amp;brush_bar, rect);
			}

			return true;
		}
</code></pre>
<p>... so diesmal gibt es erst Code <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="😉"
    /><br />
Das ganze ist eine Zeichenfunktion für ein Säulendiagramm. Soweit so gut. Jetzt will ich aber auf die einzellnen Säulen auch noch nen Text schreiben ... gehe ich jetzt aber hin und rufe RotateTransform auf, schreibe den Text, rufe wieder RotateTransform auf, erscheint der TExt nicht, aber die Säulen haben auf einmal nen komischen abstand von einandern ?! Jemand ne Idee warum? Oder wie zeichnen ihr einen gedrehten String? <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/1301649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1301649</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 08 Jun 2007 20:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Sat, 09 Jun 2007 21:17:38 GMT]]></title><description><![CDATA[<p>Wie? Keiner ne Idee? <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="😃"
    /> Kommt schon <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/1302234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1302234</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sat, 09 Jun 2007 21:17:38 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Mon, 11 Jun 2007 11:18:09 GMT]]></title><description><![CDATA[<p>Hm was zeichnest Du denn jetzt also erstes ? Doch den Säulen-Hintergrund, oder?<br />
Zeig mal den Code, wo Du den Text zeichnest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1303042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1303042</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Mon, 11 Jun 2007 11:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Tue, 12 Jun 2007 17:22:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool Bar::draw(Gdiplus::Graphics* graphics)
{
	if (graphics == NULL)
		return false;

	Gdiplus::SolidBrush brush_bar(Gdiplus::Color(173, 222, 107));
	Gdiplus::SolidBrush brush_caption(Gdiplus::Color(0, 0, 0));

	Gdiplus::StringFormat	stringFormat;
	stringFormat.SetAlignment(Gdiplus::StringAlignmentNear);
			stringFormat.SetLineAlignment(Gdiplus::StringAlignmentCenter);

	LONG bar_width = min(static_cast&lt;LONG&gt;((m_rect.right - m_rect.left - m_items.size() * 2) / m_items.size()), 20);
	for (std::size_t bar = 0; bar &lt; m_items.size(); ++bar)
	{
		LONG height = ((m_rect.bottom - m_rect.top) / 100) * m_items[bar].first;
		Gdiplus::RectF rect(static_cast&lt;Gdiplus::REAL&gt;(m_rect.left + static_cast&lt;LONG&gt;(bar) * (bar_width + 2)), static_cast&lt;Gdiplus::REAL&gt;(m_rect.bottom - height), static_cast&lt;Gdiplus::REAL&gt;(bar_width + 2), static_cast&lt;Gdiplus::REAL&gt;(height));
		graphics-&gt;FillRectangle(&amp;brush_bar, rect);
				graphics-&gt;DrawString(m_items[bar].second.c_str(), -1, &amp;m_fontControl, rect, &amp;stringFormat, &amp;brush_caption);
	}
	return true;
}
</code></pre>
<p>ohne Rotation ... klappt.</p>
<p>mit Rotation:</p>
<pre><code class="language-cpp">bool Bar::draw(Gdiplus::Graphics* graphics)
{
	if (graphics == NULL)
		return false;

	Gdiplus::SolidBrush brush_bar(Gdiplus::Color(173, 222, 107));
	Gdiplus::SolidBrush brush_caption(Gdiplus::Color(0, 0, 0));

	Gdiplus::StringFormat	stringFormat;
	stringFormat.SetAlignment(Gdiplus::StringAlignmentNear);
			stringFormat.SetLineAlignment(Gdiplus::StringAlignmentCenter);

	LONG bar_width = min(static_cast&lt;LONG&gt;((m_rect.right - m_rect.left - m_items.size() * 2) / m_items.size()), 20);
	for (std::size_t bar = 0; bar &lt; m_items.size(); ++bar)
	{
		LONG height = ((m_rect.bottom - m_rect.top) / 100) * m_items[bar].first;
		Gdiplus::RectF rect(static_cast&lt;Gdiplus::REAL&gt;(m_rect.left + static_cast&lt;LONG&gt;(bar) * (bar_width + 2)), static_cast&lt;Gdiplus::REAL&gt;(m_rect.bottom - height), static_cast&lt;Gdiplus::REAL&gt;(bar_width + 2), static_cast&lt;Gdiplus::REAL&gt;(height));
		graphics-&gt;FillRectangle(&amp;brush_bar, rect);
		graphics-&gt;RotateTransform(90.0f, Gdiplus::MatrixOrderAppend);
				graphics-&gt;DrawString(m_items[bar].second.c_str(), -1, &amp;m_fontControl, rect, &amp;stringFormat, &amp;brush_caption);
		graphics-&gt;RotateTransform(90.0f, Gdiplus::MatrixOrderPrepend);
	}
	return true;
}
</code></pre>
<p>klappt nicht ... muss ich erst TranslateTransform aufrufen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304298</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 12 Jun 2007 17:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Tue, 12 Jun 2007 21:18:15 GMT]]></title><description><![CDATA[<p>Joar, würd ich sagen, ... erst rotieren (RotateTransform) dann TranslateTransform.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1304452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1304452</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 12 Jun 2007 21:18:15 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Fri, 15 Jun 2007 19:07:40 GMT]]></title><description><![CDATA[<p>Öhm du weißt aber schon was TranslateTransform tut? Glaub hab dich reingelegt <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="😃"
    /> Nja hat jemand eine Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306838</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306838</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 15 Jun 2007 19:07:40 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Fri, 15 Jun 2007 20:20:12 GMT]]></title><description><![CDATA[<p>lol...ne war schon erst gemeint...siehe... (das Beispiel): <a href="http://msdn2.microsoft.com/en-us/library/ms535820.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/ms535820.aspx</a></p>
<p>Aber vllt hilft Dir das noch weiter (ist aber leider VB): <a href="http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=103219&amp;SiteID=1" rel="nofollow">http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=103219&amp;SiteID=1</a> (Habs mir aber nit komplett durchgelesen :p )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1306911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306911</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 15 Jun 2007 20:20:12 GMT</pubDate></item><item><title><![CDATA[Reply to [GDIPlus] Gdiplus::Graphics::RotateTransform =&amp;gt; std::wstring ... on Fri, 15 Jun 2007 21:03:08 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool Bar::draw(Gdiplus::Graphics* graphics)
{
	if (graphics == NULL)
		return false;

	Gdiplus::SolidBrush brush_bar(Gdiplus::Color(173, 222, 107));
	Gdiplus::SolidBrush brush_caption(Gdiplus::Color(122, 160, 84));

	Gdiplus::StringFormat	stringFormat;
	stringFormat.SetAlignment(Gdiplus::StringAlignmentNear);
			stringFormat.SetLineAlignment(Gdiplus::StringAlignmentCenter);
	LONG bar_width = min(static_cast&lt;LONG&gt;((m_rect.right - m_rect.left - m_items.size() * 2) / m_items.size()), 20);
	for (std::size_t bar = 0; bar &lt; m_items.size(); ++bar)
	{
		LONG height = ((m_rect.bottom - m_rect.top) / 100) * m_items[bar].first;
		Gdiplus::RectF rect(static_cast&lt;Gdiplus::REAL&gt;(m_rect.left + static_cast&lt;LONG&gt;(bar) * (bar_width + 2)), static_cast&lt;Gdiplus::REAL&gt;(m_rect.bottom - height), static_cast&lt;Gdiplus::REAL&gt;(bar_width + 2), static_cast&lt;Gdiplus::REAL&gt;(height));
		graphics-&gt;FillRectangle(&amp;brush_bar, rect);
		graphics-&gt;TranslateTransform(static_cast&lt;Gdiplus::REAL&gt;(m_rect.left + static_cast&lt;LONG&gt;(bar) * (bar_width + 2) + (bar_width + 2)), static_cast&lt;Gdiplus::REAL&gt;(m_rect.bottom - height + height - m_items[bar].second.second));
		graphics-&gt;RotateTransform(90.0f);
		graphics-&gt;DrawString(m_items[bar].second.first.c_str(), -1, &amp;m_fontControl, Gdiplus::PointF(0.0f, 0.0f), &amp;brush_caption);
		graphics-&gt;ResetTransform();
	}
	return true;
}
</code></pre>
<p>... ist zwar falsch herum ... aber nja <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/1306935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1306935</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 15 Jun 2007 21:03:08 GMT</pubDate></item></channel></rss>