<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: High quality, high performance thumbnails in Flash</title>
	<atom:link href="http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/</link>
	<description>Flex, AIR, PHP, etc.</description>
	<lastBuildDate>Thu, 11 Mar 2010 01:17:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jacob Wright</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9094</link>
		<dc:creator>Jacob Wright</dc:creator>
		<pubDate>Wed, 10 Mar 2010 18:42:45 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9094</guid>
		<description>The utils class has a dependency on the ResizeStyle for constants. It&#039;s all in the image package: http://code.google.com/p/jacwright/source/browse/trunk/flash/jac/src/jac/image/

Be sure to include ImageUtils and ResizeStyle in your classpath.</description>
		<content:encoded><![CDATA[<p>The utils class has a dependency on the ResizeStyle for constants. It&#8217;s all in the image package: <a href="http://code.google.com/p/jacwright/source/browse/trunk/flash/jac/src/jac/image/" rel="nofollow">http://code.google.com/p/jacwright/source/browse/trunk/flash/jac/src/jac/image/</a></p>
<p>Be sure to include ImageUtils and ResizeStyle in your classpath.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cleverson</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9089</link>
		<dc:creator>Cleverson</dc:creator>
		<pubDate>Tue, 09 Mar 2010 12:24:34 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9089</guid>
		<description>Hi Jacob, i&#039;m trying to use it on Flash CS4 but I&#039;m having some errors: 1120: Access of undefined property ResizeStyle.</description>
		<content:encoded><![CDATA[<p>Hi Jacob, i&#8217;m trying to use it on Flash CS4 but I&#8217;m having some errors: 1120: Access of undefined property ResizeStyle.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9056</link>
		<dc:creator>Corey</dc:creator>
		<pubDate>Fri, 19 Feb 2010 19:04:18 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9056</guid>
		<description>Keep in mind that if the global stage.quality is set to BEST, the quality of your down scaled thumbnails equates to what the player will give you in this context.

Your approach is still of value of course, because a stage.quality of BEST has *many* performance implications, certainly valuable to be able to opt-in to HQ as needed.</description>
		<content:encoded><![CDATA[<p>Keep in mind that if the global stage.quality is set to BEST, the quality of your down scaled thumbnails equates to what the player will give you in this context.</p>
<p>Your approach is still of value of course, because a stage.quality of BEST has *many* performance implications, certainly valuable to be able to opt-in to HQ as needed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Wright</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9016</link>
		<dc:creator>Jacob Wright</dc:creator>
		<pubDate>Thu, 28 Jan 2010 17:29:20 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9016</guid>
		<description>They are small because the were resized using the class. I didn&#039;t make them smaller to fit in my blog post. The original size was 1000x750. I was using a HTMLLoader in AIR, loaded up my website at the time, and made thumbnails of the page using the different mechanisms down to 100x75.

So my class in the end resizes this particular size from 1000x750 to 800x600 first (the odd size first and halves after that), then 400x300, then 200x150, then 100x75. This was the best result of all the methods.</description>
		<content:encoded><![CDATA[<p>They are small because the were resized using the class. I didn&#8217;t make them smaller to fit in my blog post. The original size was 1000&#215;750. I was using a HTMLLoader in AIR, loaded up my website at the time, and made thumbnails of the page using the different mechanisms down to 100&#215;75.</p>
<p>So my class in the end resizes this particular size from 1000&#215;750 to 800&#215;600 first (the odd size first and halves after that), then 400&#215;300, then 200&#215;150, then 100&#215;75. This was the best result of all the methods.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: judah</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9015</link>
		<dc:creator>judah</dc:creator>
		<pubDate>Thu, 28 Jan 2010 00:45:30 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9015</guid>
		<description>Hi Jacob,

Great class! :)

I was trying to see the images but they are too small. Can you upload a large version so we can do comparisons? THX</description>
		<content:encoded><![CDATA[<p>Hi Jacob,</p>
<p>Great class! :)</p>
<p>I was trying to see the images but they are too small. Can you upload a large version so we can do comparisons? THX</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Wright</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9002</link>
		<dc:creator>Jacob Wright</dc:creator>
		<pubDate>Wed, 20 Jan 2010 03:44:20 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9002</guid>
		<description>Thanks Scott! I&#039;ve updated it in the repo. Good catch. I&#039;m ashamed I didn&#039;t think about that before. BitmapData 101. Or maybe 201.</description>
		<content:encoded><![CDATA[<p>Thanks Scott! I&#8217;ve updated it in the repo. Good catch. I&#8217;m ashamed I didn&#8217;t think about that before. BitmapData 101. Or maybe 201.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott R.</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-9001</link>
		<dc:creator>Scott R.</dc:creator>
		<pubDate>Wed, 20 Jan 2010 01:25:48 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-9001</guid>
		<description>Jacob,

I stumbled upon your class today and found it quite a nice little utility.  I ran into one major issue that I wanted to pass on, in terms of memory leaks with giant .jpg files.

Within ImageUtils.as if you add after the following lines the following code, your memory usage will go from 100&#039;s of Megabytes to 100&#039;s of Kilobytes:

After Line 146: source.dispose();

After Line 160: bitmapData.dispose();

Even though you are reassigning your temp value to bitmapData and source, the bytes allocated for the initial giant images are still kept in memory.

Doing dispose() before a reassignment ensures that all byte data is destroyed.

I can send you an updated file if you like.

Best,

-Scott</description>
		<content:encoded><![CDATA[<p>Jacob,</p>
<p>I stumbled upon your class today and found it quite a nice little utility.  I ran into one major issue that I wanted to pass on, in terms of memory leaks with giant .jpg files.</p>
<p>Within ImageUtils.as if you add after the following lines the following code, your memory usage will go from 100&#8217;s of Megabytes to 100&#8217;s of Kilobytes:</p>
<p>After Line 146: source.dispose();</p>
<p>After Line 160: bitmapData.dispose();</p>
<p>Even though you are reassigning your temp value to bitmapData and source, the bytes allocated for the initial giant images are still kept in memory.</p>
<p>Doing dispose() before a reassignment ensures that all byte data is destroyed.</p>
<p>I can send you an updated file if you like.</p>
<p>Best,</p>
<p>-Scott</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deniss</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-8864</link>
		<dc:creator>Deniss</dc:creator>
		<pubDate>Mon, 14 Dec 2009 16:12:49 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-8864</guid>
		<description>Wow this is so simple and sounds so logical ... I can&#039;t believe how fast you answer me and even gave me so good idea ...

Thanks I wish you everything best :)</description>
		<content:encoded><![CDATA[<p>Wow this is so simple and sounds so logical &#8230; I can&#8217;t believe how fast you answer me and even gave me so good idea &#8230;</p>
<p>Thanks I wish you everything best :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacob Wright</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-8863</link>
		<dc:creator>Jacob Wright</dc:creator>
		<pubDate>Mon, 14 Dec 2009 15:41:30 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-8863</guid>
		<description>Deniss, when you are using the code I provided above and BitmapData.draw() you have complete control over how you want it resized. (e.g. You can do several iterations to bring it smaller or whatever, like this post shows).

However, when using Flash&#039;s scaling, 3D, rotation, etc. Flash has control over how it gets drawn. You have no control over it. So when you adjust the scale of the MovieClip Flash is doing the drawing.

If you want the best quality, you&#039;ll need to redraw this manually. A simple option would be to have the thumb start out at 80% of the size and the _xscale/_yscale at 100. Then on rollover replace the thumb with the 100% size and set the scale to 80, and let it tween to 100. When you roll out, tween the scale back to 80 and once it is done, replace the thumb with an 80% sized thumb and set the scale to 100.

This way you are only using the default Flash rendering while it is tweening, but you use the bitmap rendering when it is at rest.

I hope that makes sense. Good luck!</description>
		<content:encoded><![CDATA[<p>Deniss, when you are using the code I provided above and BitmapData.draw() you have complete control over how you want it resized. (e.g. You can do several iterations to bring it smaller or whatever, like this post shows).</p>
<p>However, when using Flash&#8217;s scaling, 3D, rotation, etc. Flash has control over how it gets drawn. You have no control over it. So when you adjust the scale of the MovieClip Flash is doing the drawing.</p>
<p>If you want the best quality, you&#8217;ll need to redraw this manually. A simple option would be to have the thumb start out at 80% of the size and the _xscale/_yscale at 100. Then on rollover replace the thumb with the 100% size and set the scale to 80, and let it tween to 100. When you roll out, tween the scale back to 80 and once it is done, replace the thumb with an 80% sized thumb and set the scale to 100.</p>
<p>This way you are only using the default Flash rendering while it is tweening, but you use the bitmap rendering when it is at rest.</p>
<p>I hope that makes sense. Good luck!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Deniss</title>
		<link>http://jacwright.com/blog/221/high-quality-high-performance-thumbnails-in-flash/comment-page-1/#comment-8862</link>
		<dc:creator>Deniss</dc:creator>
		<pubDate>Mon, 14 Dec 2009 15:11:36 +0000</pubDate>
		<guid isPermaLink="false">http://jacwright.com/blog/?p=221#comment-8862</guid>
		<description>Hello Jacob,

First of all please excuse my bad English and thank you for sharing this amazing idea and code :)

I have used your code to build a thumbnail gallery and everything works and looks perfect. Unfortunately I met one problem when decided to scale down (80% for example) these thumbs. I mean to scale down a movieclips that contain resized ( with resizeImage() ) JPGs. I did this because I wanted to make a simple RollOver effect for each thumb. On RollOver I have tween of the given movieclip _xscale=_yscale=100 and on RollOut I have tween  _xscale=_yscale=80 ... (just for the record I am using TweenMax of greensock.com )

So when I scale down these movieclips I have the problem with antiliasing although all used .draw() methods have parameter smooth=true ... unfortunately movieclip&#039;s parameter forceSmoothing=true is working only with externally loaded (with loadMovie()) images but not with images created with BitmapData and attachBitmap ...

I am very curious if there is some solution of that problem and will be very thankful to hear some opinions/ideas

Thanks in advance and once again big congrats for you work :)</description>
		<content:encoded><![CDATA[<p>Hello Jacob,</p>
<p>First of all please excuse my bad English and thank you for sharing this amazing idea and code :)</p>
<p>I have used your code to build a thumbnail gallery and everything works and looks perfect. Unfortunately I met one problem when decided to scale down (80% for example) these thumbs. I mean to scale down a movieclips that contain resized ( with resizeImage() ) JPGs. I did this because I wanted to make a simple RollOver effect for each thumb. On RollOver I have tween of the given movieclip _xscale=_yscale=100 and on RollOut I have tween  _xscale=_yscale=80 &#8230; (just for the record I am using TweenMax of greensock.com )</p>
<p>So when I scale down these movieclips I have the problem with antiliasing although all used .draw() methods have parameter smooth=true &#8230; unfortunately movieclip&#8217;s parameter forceSmoothing=true is working only with externally loaded (with loadMovie()) images but not with images created with BitmapData and attachBitmap &#8230;</p>
<p>I am very curious if there is some solution of that problem and will be very thankful to hear some opinions/ideas</p>
<p>Thanks in advance and once again big congrats for you work :)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
