<?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[canvas-&amp;gt;Pixels[][] ignoriert Stretch=true eines anderen Images]]></title><description><![CDATA[<p>hi!<br />
Ich habe &lt;noch&gt; ein Problem:<br />
Ich experimentiere grade mit Grafikfunktionen. Z.B. versuche ich ein beliebieges Bitmap so umzuändern, dass es so aussieht als sei z.B. eine Blaue transparente Folie drübergelegt.<br />
Jetzt möchte ich eine Art transparentes Menü erstellen, dass über ein Bitmap gelegt, transparent wirkt. Dazu verwende ich folgenden Code:</p>
<pre><code class="language-cpp">for (int i=0;i&lt;BGImage-&gt;Width;i++)
 {
  for (int m=0;m&lt;BGImage-&gt;Height;m++)
  {
   TransImage1-&gt;Canvas-&gt;Pixels[i][m]=BGImage-&gt;Canvas-&gt;Pixels[i+Left-BGImage-&gt;Left][m+Top-BGImage-&gt;Top]+density;
   if (BGImage-&gt;Canvas-&gt;Pixels[i+Left-BGImage-&gt;Left][m+Top-BGImage-&gt;Top]+density&gt;0x00FFFFFF){  TransImage1-&gt;Canvas-&gt;Pixels[i][m]=0x00FFFFFF;};
  }
 }
</code></pre>
<p>BGImage ist dabei das untergelegte Bitmap und TransImage ist das übergelegte Menü. Density bestimmt hierbei die farbliche Veränderung der Transparenz.</p>
<p>Das Problem dabei ist: Wenn ich beim BGImage stretch auf true stelle, dann wird das von der Eigenschaft Pixels des BGImage ignoriert, sprich, er ersetzt zwar weiterhin die Pixel des TransImage-Menüs, aber er tut so, als wenn BGImage nicht gestretcht wäre. D.h., das Bild von TransImage passt nicht mehr auf das Hintergrundbild von BGImage.</p>
<p>Kennt jemand vielleicht eine Möglichkeit, wie ich die Eigenschaft Pixels dazu bringe, auf das Stretch-attribute zu reagieren??<br />
Was kann ich sonst noch verbessern?</p>
<p>mfg<br />
chris90</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/76047/canvas-gt-pixels-ignoriert-stretch-true-eines-anderen-images</link><generator>RSS for Node</generator><lastBuildDate>Sun, 28 Jun 2026 19:55:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/76047.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 07 Jun 2004 12:24:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to canvas-&amp;gt;Pixels[][] ignoriert Stretch=true eines anderen Images on Mon, 07 Jun 2004 12:24:54 GMT]]></title><description><![CDATA[<p>hi!<br />
Ich habe &lt;noch&gt; ein Problem:<br />
Ich experimentiere grade mit Grafikfunktionen. Z.B. versuche ich ein beliebieges Bitmap so umzuändern, dass es so aussieht als sei z.B. eine Blaue transparente Folie drübergelegt.<br />
Jetzt möchte ich eine Art transparentes Menü erstellen, dass über ein Bitmap gelegt, transparent wirkt. Dazu verwende ich folgenden Code:</p>
<pre><code class="language-cpp">for (int i=0;i&lt;BGImage-&gt;Width;i++)
 {
  for (int m=0;m&lt;BGImage-&gt;Height;m++)
  {
   TransImage1-&gt;Canvas-&gt;Pixels[i][m]=BGImage-&gt;Canvas-&gt;Pixels[i+Left-BGImage-&gt;Left][m+Top-BGImage-&gt;Top]+density;
   if (BGImage-&gt;Canvas-&gt;Pixels[i+Left-BGImage-&gt;Left][m+Top-BGImage-&gt;Top]+density&gt;0x00FFFFFF){  TransImage1-&gt;Canvas-&gt;Pixels[i][m]=0x00FFFFFF;};
  }
 }
</code></pre>
<p>BGImage ist dabei das untergelegte Bitmap und TransImage ist das übergelegte Menü. Density bestimmt hierbei die farbliche Veränderung der Transparenz.</p>
<p>Das Problem dabei ist: Wenn ich beim BGImage stretch auf true stelle, dann wird das von der Eigenschaft Pixels des BGImage ignoriert, sprich, er ersetzt zwar weiterhin die Pixel des TransImage-Menüs, aber er tut so, als wenn BGImage nicht gestretcht wäre. D.h., das Bild von TransImage passt nicht mehr auf das Hintergrundbild von BGImage.</p>
<p>Kennt jemand vielleicht eine Möglichkeit, wie ich die Eigenschaft Pixels dazu bringe, auf das Stretch-attribute zu reagieren??<br />
Was kann ich sonst noch verbessern?</p>
<p>mfg<br />
chris90</p>
]]></description><link>https://www.c-plusplus.net/forum/post/535025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/535025</guid><dc:creator><![CDATA[chris90]]></dc:creator><pubDate>Mon, 07 Jun 2004 12:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to canvas-&amp;gt;Pixels[][] ignoriert Stretch=true eines anderen Images on Mon, 07 Jun 2004 17:29:55 GMT]]></title><description><![CDATA[<p>Hi!</p>
<p>Das einzige was mir spontan einfallen würde: Lass die Eigenschaft Stretch fallen und verwende stattdessen die Funktion</p>
<p>void __fastcall TCanvas::StretchDraw(const TRect &amp;Rect, TGraphic* Graphic);</p>
<p>Damit kannst du dir dann dein Bild vergrößert zeichnen und damit dann über die Eigenschaften Pixels zugreifen...</p>
<p>tschüss<br />
Robert</p>
]]></description><link>https://www.c-plusplus.net/forum/post/535354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/535354</guid><dc:creator><![CDATA[rowisoft]]></dc:creator><pubDate>Mon, 07 Jun 2004 17:29:55 GMT</pubDate></item><item><title><![CDATA[Reply to canvas-&amp;gt;Pixels[][] ignoriert Stretch=true eines anderen Images on Mon, 07 Jun 2004 19:05:40 GMT]]></title><description><![CDATA[<p>Ich denke, Du solltest bei TransImage1 stretch setzen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/535456</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/535456</guid><dc:creator><![CDATA[DerAltenburger]]></dc:creator><pubDate>Mon, 07 Jun 2004 19:05:40 GMT</pubDate></item><item><title><![CDATA[Reply to canvas-&amp;gt;Pixels[][] ignoriert Stretch=true eines anderen Images on Wed, 09 Jun 2004 19:50:59 GMT]]></title><description><![CDATA[<p>vielen dank, eure antworten haben mir beide geholfen.<br />
macht weiter so!!</p>
<p>mfg,<br />
chris90</p>
]]></description><link>https://www.c-plusplus.net/forum/post/537068</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/537068</guid><dc:creator><![CDATA[chris90]]></dc:creator><pubDate>Wed, 09 Jun 2004 19:50:59 GMT</pubDate></item></channel></rss>