Creating array of Bitmaps from loaded swf

so ive got a swf, quite simply it contains an embedded Video
object, an flv. what i need to do is load it in (done) goto each of
its frames in turn and convert said frames to Bitmaps, thus
creating a single, unique Bitmap for each frame of the flv Video.
crikey, how the hell can i do this? :)

so i've just discovered that, as someone on some webpage
somewhere said 'BitmapData is your friend. having discovered this i
found the answer. the code's a bit rood, just test code crudely
c&p'ed but heres what seems to be the broad answer to my own
question:
private function completeHandler(event:Event):void
var mc:MovieClip = MovieClip(loader.content);
mc.gotoAndStop(1);
var bmd1:BitmapData = new BitmapData(320,240);
var bm1:Bitmap = new Bitmap(bmd1, "auto", true);
bmd1.draw(mc);
mc.gotoAndStop(1000);
var bmd2:BitmapData = new BitmapData(320,240);
var bm2:Bitmap = new Bitmap(bmd2, "auto", true);
bmd2.draw(mc);
addChild(bm1);
addChild(bm2);
bm2.y = 240;
}

Similar Messages

  • Pass parameters to a function in main class from loaded SWF?

    I've got a main.as that loads SWF to the stage.
    the loaded SWF seppoused to pass a link to the main.as and trigger a javascript function to popUp that photo from that link.
    I know there are two ways:
    ((root as MovieClip).parent.parent as Object).somefunction(parameters);
    and to dispatch an event.
    inorder to pass parameters throug the event i need to extend it with another class.
    isnt the (root as... )  more efficient if all i need is to pass a link?

    when a photo from the gallery is selected a javascript popUp shows it enlarged with additioan editing options (kinda like in facebook).
    in that popUp ther is also a next button so its kinda bidirectional. (the next calling the loaded SWF throug main to get the next link in the photo array)
    the photo is a grandchild of a grandchild of the stage and the loaded swf is a grandchild so using:
    ((root as MovieClip).root as MovieClip).ExternalInterface.call("ShowPic", link);
    is discusting ><

  • Calling Flex function from loaded SWF

    Hello,
    I need to load an external SWF file, wity ability to call functions from the base FLEX code script .
    Is that possible ? noting that the loaded SWF can be either in AS2 or AS3
    Thanks in advance ..

    There are some third party ways of talking to an as2 swf.  Google
    as2interface (or maybe as3interface)

  • Invoking class from loaded swf

    I'm working on a project where I'm loading in a video player
    as an external swf to my main movie. I'm not able to get my video
    or the custom player to show up, but sound is there (I've done the
    whole Library>New Video thing, so I have a video object to
    reference).
    My question is: My loaded swf uses #include to include a
    script which imports two classes from a subdirectory, could that be
    causing the problem? My main movie never uses the classes.
    Just want to make sure this isn't my problem before I go
    digging into the script again!

    That is unlikely to be the problem. The .as includes are
    compiled into the
    SWF at publish. Much more likely is that you have
    inappropriate references
    to _root in your loaded movie. As it stands, the scope of
    _root, once you
    load the movie into another, is the _root of the *loading*
    movie. Either
    change these refs, or set the _lockroot property of the mc
    you are loading
    into to true.,
    Remove '_spamkiller_' to mail

  • Control main timeline from loaded swf.

    Hi,
    I'm using a textfield for debug information.
    I'm loading an swf on the main timeline and I'm showing the status in the debug textfield.
    function swfLoaderCompleteHandler(event:Event)
         Debug.text +=  "Swf loaded.";
    That works.
    But,
    I'm loading a png file in the loaded swf. , I'm trying to show the status of the png file as I showed the status of the swf.
    function pngLoaderCompleteHandler(event:Event)
         MovieClip(parent).Debug.text += "Png loaded.";
    I can't control the main swf from inside the loaded swf. Even gotoAndStop or calling a function doesn't work.
    Do I need to add something when I load the swf, saying it's a MovieClip or something?
    Here's a fla too. http://flashfocus.nl/forum/attachment.php?attachmentid=9885&d=1282509233

    Thank you! you're brilliant!
    For people with the same problem:
    If you use CS5 and you have a TLF text on the stage, it doesnt work... I think it's a bug. But when I converted my TLF textfield to classic and everything works fine!

  • Best Way to Create Array of Values From ArrayCollection

    I often use Arrays of values from ArrayCollections in my
    application in order to facilitate faster performance when
    filtering other Collections.
    For instance, let's say I have an ArrayCollection of Objects
    with the properties "id", "name", "label", and "isActive". What
    would be the best way to get an Array of all the "id" values?
    Right now, I am looping over the ArrayCollection, and adding
    the value of the property I need to an Array using Array.push().
    For larger Collections, this seems like overkill. I was wondering
    if anyone knew of some quicker way to get an Array of values of one
    property from an Array Collection.
    My current method for doing this is attached below...
    Thanks.

    No, that won't work - toArray() simply returns the entire
    Collection as an Array.

  • Getting properties from loaded swf

    hi there,
    I am loading different swfs into my loader object "loader"
    and I also have a description of each swf below it ("desc"
    "desc_back").. Each swf is different in size and i want to move/
    scale "desc" and "desc_back" it to fit. This seems to be kind of
    working but it changes to fit the loaded swf before the one I want
    it to. it is if it is taking the properties of the last loaded swf
    instead of the one just loaded...I have tryed using an onload
    listener amoung a number of things. my action script is not very
    strong so it could be something simple.
    thanks :)

    you must wait until loading is complete before trying to
    access the _width and _height of the about-to-be-loaded swf. ie,
    use preloader code or the onLoadInit() method of the
    moviecliploader class.

  • Accessing AIR API from loaded SWFs

    I am relatively new to AIR development and I can't get my head a round a little issue. I have an AIR application created in Flash CS5 that is just a shell that loads modules on demand, those modules are just SWF.
    I would like to access the AIR API directly from the classes of those SWF but of course they don't compile because in the publish settings they are just exported for Flash player 10 and don't see the AIR API. I tried adding airglobal.swc to the library hoping it would sort out the compiling problem but it doesn't and it generates many errors.
    I use to develop with MDM ZInc and I would just import the MDM SWC in any classes that would want access the MDM API, I am unsure how to proceed with AIR.
    Any help would be appreciated.
    Calwen

    Hi Calwen,
    here is basic sample how you could achieve that. Note: I'm using mxml syntax and components - but the *KEY* is api use of LoaderContext - not what real components are used to model UI.
    Say I have host:
    <?xml version="1.0" encoding="utf-8"?>
    <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
                                xmlns:s="library://ns.adobe.com/flex/spark"
                                xmlns:mx="library://ns.adobe.com/flex/mx"
                                creationComplete="creationCompleteHandler(event)">
         <fx:Script>
              <![CDATA[
                   import mx.events.FlexEvent;
                   protected function creationCompleteHandler(event:FlexEvent):void
                        var loaderContext:LoaderContext = new LoaderContext();
                        loaderContext.allowCodeImport = true;
                        swfLoader.loaderContext = loaderContext;
                        swfLoader.load("app:/MyLoadedApp.swf");
              ]]>
         </fx:Script>
         <s:SWFLoader id="swfLoader" width="100%" height="100%"/>
    </s:WindowedApplication>
    MyLoadedApp is not created with air SDK at all - it is just flash.display.Sprite movie clip created with any compatible Flash compiler:
    package
         import flash.display.Sprite;
         import flash.events.*;
         import flash.text.TextField;
         import flash.utils.getDefinitionByName;
         public class MyLoadedApp extends Sprite
              public function MyLoadedApp()
                   addEventListener(Event.ADDED_TO_STAGE, initApp);
              protected function initApp(addedToStageEvent:Event):void
                   removeEventListener(Event.ADDED_TO_STAGE, initApp);
                   var clazz:Class = flash.utils.getDefinitionByName("flash.filesystem.File") as Class;
                   if(clazz)
                        // we could read documents directory (File.documentsDirectory) using class access
                        var directory:Object = clazz.documentsDirectory;
                        try
                             // and we could show browse dialog (now we are using instance - not class)
                             directory.addEventListener(Event.SELECT, directorySelectedHandler);
                             directory.browseForDirectory("Please select directory");
                        } catch (error:Error)
                             // handle error
                             var errorText:TextField = new TextField();
                             errorText.autoSize = "left";
                             errorText.text = error.message;
                             addChild(errorText);
              protected function directorySelectedHandler(selectEvent:Event):void
                   var directory:Object = selectEvent.target;
                   var files:Array = directory.getDirectoryListing();
                   var resultsTextField:TextField = new TextField();
                   resultsTextField.autoSize = "left";
                   resultsTextField.multiline = true;
                   resultsTextField.appendText(selectEvent.type+":\n");
                   for(var i:uint = 0; i < files.length; i++)
                        resultsTextField.appendText(files[i].name+"\n");
                   addChild(resultsTextField);
    This is not safe at all and loaded module can do everything I think (we talk about local modules from app storage, like in Zinc, right?)
    kind regards,
    Peter

  • Extract graphics from loaded swf / Big problem

    Hello,
    my English isn't very good, so sorry for mistakes I have swf which consist of many vector graphics.
    You can show it right here: http://www.watchtime24.sisco.pl/moje...orowanka_1.swf
    If I import the swf to the stage, than I can manipulate this graphics. But this is not enough for me. I need to manipulate from Action Script.
    I need to change the colors of this piceses from AS. I tried to use function
    getObjectsUnderPoint(new Point(mouseX, mouseY))
    but it doesn't work. This function doesn't see shapes, graphics or something else.
    Is any solution which can fix my problem ? Has anyone any idea ?

    Hey Mich,
    What you can do is turn eachof the items in your shapes, into a movieClip or sprite or even a bitmap.
    like the boy in the drawing.. take all of thsoe and then convert them into a movieClip.  Then when you do this give them a name and export them for actionscript.  Give this a class Name.
    then when you load the swf, you can actually target those files with this line.
    Say i converted the BOY into a movieClip.
    import flash.system.ApplicationDomain
    import flash.utils.geClasstDefinition
    var myswfHoldingBoy
    var myLoader:URLLoader = new URLLoader()
          myLoader.addEventListener(Event.INIT,onInit)
         var myURLRequest('path to myswfHoldingBoy')
    myLoader.load(myURLRequest)
    privaate function onInit(e:Event){
    //here is where we will extract the boy for the library of the other swf
    var ldrAppdomain= e.target.loaderInfo.applicationDomain
    var boyObject:Class= ldrAppdomain.getByDefinition('class name you gave the boy as i said eralier') as Class
    // now we have boyObject that will be able to be used as a class
    addChild(new boyObject())  // this will addYourBoy movieClip to the stage.  but keep a reference to him so that you can then manipulate him.

  • [SOLVED] How to create array in bash from some lines in config file

    I have config file for small script and it looks like this:
    local_directory="$HOME/etc"
    excluded_directory="$HOME/etc1"
    excluded_directory2="$HOME/etc2"
    excluded_directory3="$HOME/etc3"
    I would like to place all "excluded_directoryXX" config options into array that can be parsed to program. This way i have to hardcode it and it is not practical at all.
    Can somebody help me out?
    Last edited by kuraku (2013-09-24 20:45:42)

    @jasonwryan
    Thank you, i was not aware of that builtin. At first i wanted to use this in combination with "grep --after-context=XX" and then i realized that i can use it this way:
    mapfile -s XX -t configs </etc; echo "${configs[@]}"
    Thank you very much.

  • Loading swf with XML on Click

    Hi all, can anyone help
    can anyone shine a little light onto a little confusion I am having, I have a menu that already loads in images via an XML file on a menu, what I am trying to do is when an image/meni Item is click I would like to load in an swf into the same place as the image Item loads into! am I making any sense.
    on a click event, do I use in the XML file the <link>link to swf</link>   ????
    this is what I have in my xml file that loads in the images so far;
    <image name="image 12" path="img/img12.jpg"
    title="Lorem ipsum 12"
    text="Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi commodo 12" />
    what I am getting confused with is what I also put within the AS, I am sure it is not alot but I'm just not sure what needs to go where??
    this is what I have within the AS that loads in XML, I hope its ok to paste this code, never like posting to much code incase is scares people off, I just don't want to leave anything out, hope thats ok with everyone:eek:
    // Use URLLoader to load XML
    xmlLoader = new URLLoader();
    xmlLoader.dataFormat = URLLoaderDataFormat.TEXT;
    // Listen for the complete event
    xmlLoader.addEventListener(Event.COMPLETE, onXMLComplete);
    xmlLoader.load(new URLRequest("data.xml")); 
    stage.addEventListener( MouseEvent.MOUSE_WHEEL, onMouseWheel );
    //———————————————EVENT HANDLERS
    private function onXMLComplete(event:Event):void
    // Create an XML Object from loaded data
    var data:XML = new XML(xmlLoader.data);
    // Now we can parse it
    var images:XMLList = data.image;
    for(var i:int = 0; i < images.length(); i++)
    // Get info from XML node
    var imageName:String = images[i].@name;
    var imagePath:String = images[i].@path;
    var titles:String = images[i].@title;
    var texts:String = images[i].@text;
    // Load images using standard Loader
    var loader:Loader = new Loader();
    // Listen for complete so we can center the image
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImageComplete);
    loader.load(new URLRequest(imagePath));
    // Create a container for the loader (image)
    var holder:MovieClip = new MovieClip();
    holder.addChild(loader);
    var button_main:Button_mr = new Button_mr();   /
    holder.addChild(button_main);               
    var tooltip:ToolTip = new ToolTip();
    tooltip.field.text = titles;  //loads tooltip 1
    tooltip.field2.text = texts;  //loads tool tip 2
    tooltip.x = -350; 
    tooltip.y = 0;   
    holder.addChild(tooltip);
    // Same proceedure as before
    holder.buttonMode = true;
    holder.addEventListener( MouseEvent.CLICK, onMenuItemClick );
    // Add it to the menu
    circleMenu.addChild(holder);
    many thanks for any help!!!!

    1. Be sure in main.swf there is no masking or layering hiding
    the reflection area. A way to test quickly is to load in a plain
    master swf that is much larger than the externals swf.
    2. Know the weakness of loadMovie for timing issues that
    require the external movie to be fully loaded before actions are
    taken on it. I see a bunch of these in the code you posted. Best to
    use
    MovieClipLoader.onLoadInit
    before you attempt to access the external swf properties or code or
    add code.
    3. Be sure the code is firing on load and all objects are
    created. Add some trace statements for those objects.
    4. I noticed you do not use BitmapData so this may not be
    relevant but be sure to add
    System.security.allowDomain("*");
    to the main.swf as well as in external swfs and only if you
    are using the BitmapData class.
    5. As I started to look at the code a bit and noticed this
    item:
    There is no constructor for the Flash MovieClip class. You
    will not see a compiler error message because you do not have the
    code wrapped into a class.
    var home:MovieClip = new MovieClip();
    However it does not have impact on the code.
    better would be
    var home:MovieClip;

  • Loading swf files from an iPhone Air App

    Although the faq says its possible ( http://bit.ly/gyxmCo  )  I can't seem to load .swf files from my app.
    There's no .AS code in the .swf file I'm trying to load.
    PNG files load with no problems, swf's fail.
    A working example would be appreciated instead of suggestions, I've spent the entire day trying out suggestions
    regards,
    Martijn

    Because I can't see any library assets in an as2.0 file.
    I've discovered that the swf fails to load as soon as you make a symbol 'export for actionscript'
    probably because it will then create a class. So you can only load SWF's as simple pictures or animations, you cant use it as an asset library with multiple animations/images/sounds in it..
    As for you other questions:
    it doesnt matter if the file is local or on the web. same results
    I created the swf file from a fla in CS4,  and I'm compiling my air project that loads the swf  with FlashDevelop.

  • Is it possible to load SWF files from an SQL database?

    Hi all, I am very new to flash (I am primarily a C'# developer!) and I have been asked to investigate the possibility of doing the following;
    Create an application that allows swf files to be uploaded and stored inside of a SQL database as binary data (Why a database is a long story!)
    Allow this binary data to be extracted via a http request to be dynamically loaded inside of a web page.
    Now the first part was easy. I have all of my swf's uploaded and stored inside of the database. I have code that can make a request for the binary and write it to the response, so far so good. Now this is where I am stuck.
    I thought I could dynamically load the swf binary data by creating a very basic swf that simply contains a movie clip holder and for now a simple loadMovie statement. My idea being that I can could provide a url for the loadMovie statement that returns the swf binary data. This is where I have ground to a halt.
    I can see the call being made from the swf, I can see the data being returned but I cannot get it to render. I remember seeing an article some time agao where someone stated that they had used this method with success but I cannot find now. Has anyone ever done anything like? Is it even possible? Am I missing something simple?
    I have tried to return both the raw binary data and also used response.write but to no avail. Can anyone help?

    You are possibly trying to load AS3 swf into an AS2 Container at least the use of loadMovie() points in that direction. Be sure to use AS3 and target at least Flash 9 in your Loader/Main.swf. Also the AS3 concept of how to load swfs  differs a lot from the old concept.
    Look into the docu:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.ht ml
    But the biggest Problem seems to me -what you mentioned- that Loader needs a (defined) URLRepuest and since your swf files have no "real" URL and you surely don`t want to let the user directly write to your server, a workaround would be to write the BinaryStream with AIR-functionality to a local installlation directory and load it then from there.

  • Listening to Events from inside loaded swf

    In Flash Builder 4 I have a swfLoader with which I load swf files. The swf files that get loaded get created in Flash Pro, and I would like to be able to listen for events from the level that they get loaded from. What would I have to specify in the Flash file for the path? Can't seem to be able to specify the right path.
    Thanks a lot for any help!

    I wouldnt say this is elegant but we have been having issues gaining direct access to the SWF's loaded in via OSMF. However I have done setups where I dispatch an event from a SWF and have it bubble up and catch it on the MediaContainer level. Not elegant but works- otherwise may need to make a custom MediaElement and bypass the SWFElement to gain tighter control - seems like there should be a better way, but I havnt found it.

  • Loading font from external *.swf

    So!
    I have 3 movies.
    1)Main movie - index.swf
    2)Movie with created & checked in linkadge "Export for
    runtime sharing" fonts in library - fonts.swf
    3)movie with text fields which need embeded fonts to work in
    a proper way. Fonts in the library checked in linkage as "import
    for runtime sharing" - content.swf
    What happens:
    I strike CTRL+ENTER and run movie index.swf.
    on the (for ex.) 10 frame it loads fonts.swf with
    movieClipLoader class..
    then in the same way on (for ex.) 100 frame, i load content
    swf
    BUT!!! before it starts loading process IT DOWNLOADS FONT.swf
    again
    SO HOW DO I PRELOAD fonts from external *.swf..
    maybe there is yhe way without using runtime sharing..
    but i've heard that loaded whith movieClipLoader movies don't
    adds objects from their library to main movie liblary...
    HOW DO I SOLVE THIS PROBLEM!

    can you give your erroe source code,and then i will give you the success code.
    in the function
    private function onLoadComplete(e:Event):void {}
    ApplicationDomain.currentDomain.getDefinition("com.scottgmorgan.ExternalMovie") ;
    use like this:
    var EMClass:Class=loader.contentLoaderInfo.applicationDomain.getDefinition("com.scottgmorgan.ExternalMovie") ;
    then you can new a instance :
    var emInstance:Object=new EMClass();
    emInstance.alert("hello word");
    and we also can use other method. so email me  [email protected]

Maybe you are looking for