<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[ActionScript] haXe: Scaling External Image to Fit?</title>
		<link>http://www.allegro.cc/forums/view/594379</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 17 Dec 2007 23:50:30 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m loading an external image into a new, empty MovieClip and it isn&#39;t scaling to fit the size of the flash player.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>import flash.MovieClip<span class="k2">;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">class</span> Test <span class="k2">{</span></td></tr><tr><td class="number">4</td><td>  <span class="k1">private</span> <span class="k1">static</span> var app:Test<span class="k2">;</span></td></tr><tr><td class="number">5</td><td>  <span class="k1">private</span> <span class="k1">static</span> var mc:flash.MovieClip<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>  <span class="k1">public</span> function <span class="k1">new</span><span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">8</td><td>    flash.Stage.scaleMode <span class="k3">=</span> <span class="s">"noScale"</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>    flash.Stage.align <span class="k3">=</span> <span class="s">"TL"</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  </td></tr><tr><td class="number">11</td><td>    mc <span class="k3">=</span> flash.Lib.current<span class="k2">;</span></td></tr><tr><td class="number">12</td><td>    var tmc <span class="k3">=</span> mc.createEmptyMovieClip<span class="k2">(</span><span class="s">"s1_"</span>, mc.getNextHighestDepth<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    tmc.loadMovie<span class="k2">(</span><span class="s">"sunflower.jpg"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    </td></tr><tr><td class="number">15</td><td>    tmc._x <span class="k3">=</span> flash.Stage.width<span class="k3">/</span><span class="n">2</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>    tmc._y <span class="k3">=</span> flash.Stage.height<span class="k3">/</span><span class="n">2</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>    tmc._width <span class="k3">=</span> flash.Stage.width<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    tmc._height <span class="k3">=</span> flash.Stage.height<span class="k2">;</span></td></tr><tr><td class="number">19</td><td>    </td></tr><tr><td class="number">20</td><td>    trace<span class="k2">(</span>tmc._xscale<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>    trace<span class="k2">(</span>tmc._yscale<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>    </td></tr><tr><td class="number">23</td><td>    tmc._xscale <span class="k3">=</span> <span class="n">0</span>.<span class="n">5</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>    tmc._yscale <span class="k3">=</span> <span class="n">0</span>.<span class="n">5</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">26</td><td>  <span class="k1">public</span> <span class="k1">static</span> function main<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">27</td><td>    flash.Lib.setErrorHandler<span class="k2">(</span>myHandler<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>    app <span class="k3">=</span> <span class="k1">new</span> Test<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">30</td><td>  </td></tr><tr><td class="number">31</td><td>  <span class="k1">static</span> function myHandler<span class="k2">(</span>msg <span class="k2">:</span> String, stack <span class="k2">:</span> Array<span class="k3">&lt;</span>String&gt; <span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">32</td><td>    trace<span class="k2">(</span><span class="s">"Error : "</span><span class="k3">+</span>msg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">34</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

I&#39;ve tried and tried to get it to scale by setting xscale and width and so forth, but every time I do the image just disappears. Any ideas?</p><p>Thank you.</p><p>EDIT: Setting the scale works (apparently it&#39;s 50 == 50% instead of 0.5), but I don&#39;t know the size of the image to begin with so I can&#39;t scale it properly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Billybob)</author>
		<pubDate>Fri, 14 Dec 2007 07:08:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Why do you need to know the size of the image to scale it? <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /> If there is a property that automatically scales the image then shouldn&#39;t it work to indicate the same scale for both axises (is <i>axises</i> a word? I don&#39;t know)? <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /></p><p> <i>** EDIT **</i></p><p>Without knowing exactly what I&#39;m looking for I found this post* on another forum that claims to know how to get image dimensions... <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /> I don&#39;t know if <tt>haXe</tt> is different from <tt>Flash</tt>&#39;s <tt>ActionScript</tt> or not nor which versions of ActionScript this is supported in...
</p><div class="quote_container"><div class="title">SteveMania@forums.macrumors.com said:</div><div class="quote"><p>
I know this is an old thread, but I am sick of reading posts that i personally want answers for and there not being one after all of that reading! Below is how you should load images and gain access to their height/width and so on... The answer is onLoadInit(); onLoadComplete will not work because all of the variables and things are not initialized until the onLoadInit(); Hope this saves someone some time!</p><p>Use the MovieClipLoader object (with a Listener):
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>var my_mcl       <span class="k2">:</span> MovieClipLoader  <span class="k3">=</span> <span class="k1">new</span> MovieClipLoader<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">2</td><td>var mclListener  <span class="k2">:</span> Object           <span class="k3">=</span> <span class="k1">new</span> Object<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td>mclListener.onLoadProgress <span class="k3">=</span> function<span class="k2">(</span>target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number<span class="k2">)</span><span class="k2">:</span>Void</td></tr><tr><td class="number">5</td><td><span class="k2">{</span></td></tr><tr><td class="number">6</td><td>    var pctLoaded:Number <span class="k3">=</span> Math.ceil<span class="k2">(</span><span class="n">100</span><span class="k3">*</span><span class="k2">(</span>numBytesLoaded<span class="k3">/</span>numBytesTotal<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    <span class="c">// This will get you the percent amount loaded for use in a preloader, etc...</span></td></tr><tr><td class="number">8</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td>mclListener.onLoadInit <span class="k3">=</span> function<span class="k2">(</span>mc:MovieClip<span class="k2">)</span><span class="k2">:</span>Void</td></tr><tr><td class="number">11</td><td><span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <span class="c">// This is the method that will return the  proper values for height/width</span></td></tr><tr><td class="number">13</td><td>    trace<span class="k2">(</span><span class="s">"LoadInit Rules! "</span> <span class="k3">+</span> mc._width<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td><span class="k2">}</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>my_mcl.addListener<span class="k2">(</span>mclListener<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>my_mcl.loadClip<span class="k2">(</span>imageVariable, MovieClipToLoadImageInto<span class="k2">)</span><span class="k2">;</span></td></tr></tbody></table></div></div><p>
</p></div></div><p> - <a href="http://forums.macrumors.com/archive/index.php/t-176992.html">Source</a></p><p> <i>** EDIT **</i></p><p>I didn&#39;t get a chance to read through it, but <a href="http://www.webwasp.co.uk/tutorials/b29-load-images/index.php">this</a> (Flash MX) or <a href="http://www.webwasp.co.uk/tutorials/b30-load-images_MX04/index.php">this</a>  (Flash MX 2004/8) might help as well.</p><p><sub>* I formatted the code for readability and prettiness.</sub>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Mon, 17 Dec 2007 23:50:30 +0000</pubDate>
	</item>
</rss>
