Finally! After months of tinkering around in my spare time, I've managed to assemble a relatively useful tool called SWF2XAML. The first version of this tool allows you to open a Flash/SWF file and advance through the frames one-by-one. When you've found a frame that you like, you can easily export it to a file or copy its XAML to the clipboard. Import or paste the XAML into your tool of choice, and off you go.
Now, before you start converting files, let me set your expectations. Flash files contain a lot of information, including shape definitions, animations, and code in the form of ActionScript. The version of SWF2XAML I'm releasing today only converts shapes on a frame-by-frame basis. In other words, there is no conversion to native WPF animations, and there is certainly no code conversion. Both of these are possible, and they'd require a lot more work.
If you'd like to know more about the technical details, Karsten Januszewski, a fellow Technical Evangelist, filmed a short Channel 9 interview that provides insight into the structure of a SWF file, what is currently converted, and the general algorithm used to bring shapes into WPF. Plus, there is a very quick walkthough and demo at the beginning of the video.
I've written two blog posts about some of my earlier experimentation: Converting Flash Shapes to WPF, and Example C# Code for Reading Flash (SWF) Files. If you plan to write your own utility, these should be very useful.
I'd love your feedback! Is this tool useful? What other features would you like to see supported? Would anyone really want to convert ActionScript to something like C#?
Update: I just posted a 11½ minute screencast that gives a quick walk-through of the tool.
Well done! I'm particularly impressed by the compound shape -> standard shape conversion.
I haven't even tried doing that myself, as I've heard a lot about how difficult it would be... All the more kudos to you! So, any chance of posting the source for that part of the program?
I'm glad you've written this, but I wonder how Adobe will feel. AFAIK it is actually contrary to the SWF specification license to implement a viewer, which I wouldn't mind seeing challenged.
Michael Swanson has released a free converter to take SWF to XAML converter. "Finally! After months of
SWF2XAML: An Adobe/Macromedia Flash to XAML Conversion Tool Adobe FlushのファイルをXAMLにトランスレ
Cryptic!! but for those in the industry they'll recognize it straightaway. Thanks to Mike Swanson, a
Just in case you haven't read about this on all the other blogs: Michael Swanson , a Technical Evangelist
Incredible work! "Relatively useful"? A kind of understatement I haven't heard in a long time.
A call from Adobe lawyers coming in 3..2..1..
Mike Swanson has created a Flash (.SWF) to XAML conversion tool called SWF2XAML . Great stuff! KarstenJ
Vous en réviez ? Michael Swanson l'a fait ! SWF2XAML est un outil qui va convertir les fichiers Flash
If you have been playing with Sparkle and wanted a way to bring in Flash files in XAML then today is
Chris & macbirdie: When I started my proof of concept work months ago, the first thing I looked for was the official Adobe/Macromedia Flash file specification. Unfortunately, the license to download and view the file format documentation was too restrictive for my needs. The good news is that there are a lot of public posts, forums, and articles from people who have had similar needs. Although the public information is not always 100% correct, it is enough to get pretty far with an implementation (as witnessed by the SWF2XAML tool).
Check out this tool to convert Flash files into XAML: http://blogs.msdn.com/mswanson/archive/2006/11/21/swf2xaml-a-tool-to-convert-flash-files-to-xaml.asp
A month ago I blogged about the WPF conversion contest. The blog discussed creating a tool which converts...