<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
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/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Stroep &#187; ImageSaver</title> <atom:link href="http://blog.stroep.nl/tag/imagesaver/feed/" rel="self" type="application/rss+xml" /><link>http://blog.stroep.nl</link> <description>Just a collection of random works - Mark Knol</description> <lastBuildDate>Tue, 07 Sep 2010 07:08:59 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <item><title>Process rendering Actionscript to PNG to Video</title><link>http://blog.stroep.nl/2008/11/process-rendering-actionscript-to-png-to-video/</link> <comments>http://blog.stroep.nl/2008/11/process-rendering-actionscript-to-png-to-video/#comments</comments> <pubDate>Thu, 20 Nov 2008 23:31:48 +0000</pubDate> <dc:creator>Mark Knol</dc:creator> <category><![CDATA[Other]]></category> <category><![CDATA[actionscript]]></category> <category><![CDATA[generative]]></category> <category><![CDATA[ImageSaver]]></category> <category><![CDATA[render]]></category> <category><![CDATA[video]]></category><guid isPermaLink="false">http://blog.stroep.nl/?p=252</guid> <description><![CDATA[I've created a new video, and this one isn't rendered like I said in the <a href="http://blog.stroep.nl/2008/11/perlin-noise-more-experiments/">previous post</a> (using flash > export movie > .mov), but I used the <a href="http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/">ImageSaver</a> class every frame. I added an event listener to the class. So I started rendering frame 1. When frame 1 is completed, I call the save function. The <a href="http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/">ImageSaver class</a> saves the images and dispatches an Event. When this Event.COMPLETE is being dispatched, I just render another frame. After rendering I call the save function again and wait till the Event.COMPLETE is being dispatched again. etcetera. ;) Well, I think I've got my own mini-render engine. It works perfect for creating sequences of images (or just videos which use a lot of CPU or cannot be displayed at real-time). While rendering I counted the frames and stopped saving after 1000 frames.So, now we can render more heavy effects and create videos, right? :) In this video 1000 images are rendered by actionscript, using additive blending and a BlurFilter. The movements are based on a <a href="http://blog.stroep.nl/2008/11/make-things-less-static-add-some-movement-with-perlin-noise/">Perlin noise</a>. Not very heavy, but when running it in the FlashPlayer, I've cannot reach more than 11fps. The full version is 800x600 with transparency, 30fps.<object type="application/x-shockwave-flash" width="420" height="315" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&#38;photo_secret=6abfc51527&#38;photo_id=3047016458"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&#38;photo_secret=6abfc51527&#38;photo_id=3047016458" height="315" width="420"></embed></object><em>Yes, this video is created with actionscript</em>]]></description> <content:encoded><![CDATA[<p>I&#8217;ve created a new video, and this one isn&#8217;t rendered like I said in the <a href="http://blog.stroep.nl/2008/11/perlin-noise-more-experiments/">previous post</a> (using flash > export movie > .mov), but I used the <a href="http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/">ImageSaver</a> class every frame. I added an event listener to the class. So I started rendering frame 1. When frame 1 is completed, I call the save function. The <a href="http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/">ImageSaver class</a> saves the images and dispatches an Event. When this Event.COMPLETE is being dispatched, I just render another frame. After rendering I call the save function again and wait till the Event.COMPLETE is being dispatched again. etcetera. <img src='http://blog.stroep.nl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> Well, I think I&#8217;ve got my own mini-render engine. It works perfect for creating sequences of images (or just videos which use a lot of CPU or cannot be displayed at real-time). While rendering I counted the frames and stopped saving after 1000 frames.</p><p>So, now we can render more heavy effects and create videos, right? <img src='http://blog.stroep.nl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> In this video 1000 images are rendered by actionscript, using additive blending and a BlurFilter. The movements are based on a <a href="http://blog.stroep.nl/2008/11/make-things-less-static-add-some-movement-with-perlin-noise/">Perlin noise</a>. Not very heavy, but when running it in the FlashPlayer, I&#8217;ve cannot reach more than 11fps. The full version is 800&#215;600 with transparency, 30fps.</p><p>Single image:<br /> <a href="http://www.flickr.com/photos/markknol/3043977405/sizes/o/" title="render.0212 by mark knol, on Flickr"><img src="http://farm4.static.flickr.com/3242/3043977405_dafeee6b24.jpg" width="420" alt="render.0212" /></a></p><p>Video output:<br /> <object type="application/x-shockwave-flash" width="420" height="315" data="http://www.flickr.com/apps/video/stewart.swf?v=63881" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"><param name="flashvars" value="intl_lang=en-us&amp;photo_secret=6abfc51527&amp;photo_id=3047016458"></param><param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=63881"></param><param name="bgcolor" value="#000000"></param><param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=63881" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=6abfc51527&amp;photo_id=3047016458" height="315" width="420"></embed></object><em>Yes, this video is created with actionscript</em></p><p>I used Premiere to merge all those images into a video.</p> ]]></content:encoded> <wfw:commentRss>http://blog.stroep.nl/2008/11/process-rendering-actionscript-to-png-to-video/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>AS3 ImageSaver Class updated</title><link>http://blog.stroep.nl/2008/09/as3-imagesaver-class-updated/</link> <comments>http://blog.stroep.nl/2008/09/as3-imagesaver-class-updated/#comments</comments> <pubDate>Wed, 10 Sep 2008 20:42:35 +0000</pubDate> <dc:creator>Mark Knol</dc:creator> <category><![CDATA[actionscript]]></category> <category><![CDATA[as3]]></category> <category><![CDATA[ImageSaver]]></category><guid isPermaLink="false">http://blog.stroep.nl/?p=88</guid> <description><![CDATA[The ImageSaver Class is updated.<strong>Download</strong> » <a href="http://projects.stroep.nl/imageSaver.zip">ImageSaver (latest)</a>Fixed:
- You can use a bitmapdata as input too. First you only could use a displayObject, but I believe it's better to use an IBitmapDrawable (interface).
- Bug quality JPG
- Added optional rect
]]></description> <content:encoded><![CDATA[<p>The ImageSaver Class is updated.</p><p><strong>Download</strong><br /> » <a href="http://projects.stroep.nl/imageSaver.zip">ImageSaver (latest)</a></p><p>Fixed:<br /> - You can use a bitmapdata as input too. First you only could use a displayObject, but I believe it&#8217;s better to use an IBitmapDrawable (interface).<br /> - Bug quality JPG<br /> - Added optional rect</p> ]]></content:encoded> <wfw:commentRss>http://blog.stroep.nl/2008/09/as3-imagesaver-class-updated/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>AS3 ImageSaver Class v1.0</title><link>http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/</link> <comments>http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/#comments</comments> <pubDate>Fri, 29 Aug 2008 22:06:50 +0000</pubDate> <dc:creator>Mark Knol</dc:creator> <category><![CDATA[actionscript]]></category> <category><![CDATA[class]]></category> <category><![CDATA[ImageSaver]]></category><guid isPermaLink="false">http://blog.stroep.nl/?p=48</guid> <description><![CDATA[<img src="/wp-content/uploads/imageSaver.jpg" alt="ImageSaver Class" align="right" />My ImageSaver() Class is ready for download.<strong>Download </strong> » <a href="http://projects.stroep.nl/imageSaver.zip"><strong>ImageSaver v1.0</strong></a><strong>Features</strong><ul><li>Save a MovieClip, Sprite, Shape, Bitmap, Textfield or other kinds of displayObjects.</li><li>It doesn't matter where or how your object is positioned on the stage, it gets the right bounds.</li><li>Never worry about bytearray's / encoding anymore.</li><li>Save your displayobject as JPG or PNG (using Adobe's encoders)</li><li>Ready-to-install PHP file.</li></ul>]]></description> <content:encoded><![CDATA[<p><img src="/wp-content/uploads/imageSaver.jpg" alt="ImageSaver Class" align="right" />My ImageSaver() Class is ready for download.</p><p><strong>Download </strong><br /> » <a href="http://projects.stroep.nl/imageSaver.zip"><strong>ImageSaver v1.0</strong></a></p><p><strong>Features</strong></p><ul><li>Save a MovieClip, Sprite, Shape, Bitmap, Textfield or other kinds of displayObjects.</li><li>It doesn&#8217;t matter where or how your object is positioned on the stage, it gets the right bounds.</li><li>Never worry about bytearray&#8217;s / encoding anymore.</li><li>Save your displayobject as JPG or PNG (using Adobe&#8217;s encoders)</li><li>Ready-to-install PHP file.</li></ul><p><script type="text/javascript">google_ad_client = "pub-8026631169002810";
/* 468x15, gemaakt 30-6-08 */
google_ad_slot = "6262097246";
google_ad_width = 430;
google_ad_height = 15;</script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead show_ads.js"></script><br/><br/><strong>How to use</strong><br /> 1. Copy the &#8216;save-my-image.php&#8217; file to your server or testing environment (I use <a href="http://www.wampserver.com/en/" target="_blank">WAMP</a> for testing)<br /> 2. Use ImageSaver like this example.</p><div class="bbCSH" style="font-family: monospace;"><span style="color: #808080; font-style: italic;">// Create saver instance + point to php file on server</span><br /> <span style="color: #000000; ">var</span> imageSaver:ImageSaver = <span style="color: #000000; ">new</span> ImageSaver<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://localhost:8080/save-my-image.php&quot;</span> <span style="color: #66cc66;">&#41;</span>;&nbsp; &nbsp; &nbsp; &nbsp;</p><p><span style="color: #808080; font-style: italic;">// additional: Add eventlisteners.</span><br /> imageSaver.<span style="color: #006600;">addEventListener</span> <span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">COMPLETE</span>, onSaveComplete <span style="color: #66cc66;">&#41;</span>;<br /> imageSaver.<span style="color: #006600;">addEventListener</span> <span style="color: #66cc66;">&#40;</span> IOErrorEvent.<span style="color: #006600;">IO_ERROR</span>, onSaveError <span style="color: #66cc66;">&#41;</span>;</p><p><span style="color: #808080; font-style: italic;">// Save textfield as JPG with red background</span><br /> imageSaver.<span style="color: #006600;">save</span> <span style="color: #66cc66;">&#40;</span> myTextField, <span style="color: #ff0000;">&quot;myfilename1.jpg&quot;</span>, 0xFFFF0000 <span style="color: #66cc66;">&#41;</span>;</p><p><span style="color: #808080; font-style: italic;">// Save bitmap as JPG with red background in low JPG quality (15)</span><br /> imageSaver.<span style="color: #006600;">save</span> <span style="color: #66cc66;">&#40;</span> myBitmap, <span style="color: #ff0000;">&quot;myfilename2.jpg&quot;</span>, 0xFFFF0000, <span style="color: #cc66cc;">15</span> <span style="color: #66cc66;">&#41;</span>;</p><p><span style="color: #808080; font-style: italic;">// Save a shape as transparent PNG</span><br /> imageSaver.<span style="color: #006600;">save</span> <span style="color: #66cc66;">&#40;</span> myShape, <span style="color: #ff0000;">&quot;myfilename3.png&quot;</span> <span style="color: #66cc66;">&#41;</span>;</p><p><span style="color: #808080; font-style: italic;">// Save a movieclip as half-transparent (red) PNG</span><br /> imageSaver.<span style="color: #006600;">save</span> <span style="color: #66cc66;">&#40;</span> myMovieClip, <span style="color: #ff0000;">&quot;myfilename4.png&quot;</span>, 0xCCFF0000 <span style="color: #66cc66;">&#41;</span>;</p><p><span style="color: #808080; font-style: italic;">// handle events</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <br /> <span style="color: #b1b100;">private</span> <span style="color: #000000; ">function</span> onSaveError<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:IOErrorEvent <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span><br /> &nbsp; &nbsp; <span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Image save failed. Error while saving: &quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">text</span> <span style="color: #66cc66;">&#41;</span>;<br /> <span style="color: #66cc66;">&#125;</span></p><p><span style="color: #b1b100;">private</span> <span style="color: #000000; ">function</span> onSaveComplete<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">e</span>:Event <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span><br /> &nbsp; &nbsp; <span style="color: #0066CC;">trace</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Image save completed&quot;</span> &nbsp;<span style="color: #66cc66;">&#41;</span>;<br /> <span style="color: #66cc66;">&#125;</span></div><p>The save-function works like this:</p><div class="bbCSH" style="font-family: monospace;"><span style="color: #b1b100;">public</span> <span style="color: #000000; ">function</span> save<span style="color: #66cc66;">&#40;</span> displayobject:DisplayObject, filename:<span style="color: #0066CC;">String</span>, <span style="color: #0066CC;">backgroundColor</span>:<span style="color: #0066CC;">Number</span> = 0x00FFFFFF, JPGquality:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">85</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><br /> &nbsp; &nbsp; &nbsp; &nbsp;</div><p>I love to hear your suggestions. Feel free to use it too.</p><p><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a><br /><a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Licence</a></p> ]]></content:encoded> <wfw:commentRss>http://blog.stroep.nl/2008/08/as3-imagesaver-class-v10/feed/</wfw:commentRss> <slash:comments>68</slash:comments> </item> </channel> </rss>