It's been five months since I posted an Update on My Illustrator Plug-In and Flash to XAML Conversion Tool. When I wrote that post, I was in deep preparation for our 2008 Professional Developers Conference, and I didn't have any time to focus on the plug-in. On top of that, I have to admit that I wasn't very motivated to dive back into a C++ project; while I used to write C/C++ all day long, that was many, many years ago. I've since been spoiled by managed code. But I digress...
I found my project files, converted them to Visual Studio 2008 (yes, it's been that long), and spent some time fixing two issues that I've received a lot of e-mail about:
- The first issue was related to PathGeometry changes in Silverlight 2. Chris Idzerda of Vertigo Software explains the problem in a recent post. This plug-in bug made it more difficult to use the exported XAML with Expression Blend. The good news is that the problem has been addressed in this update, and you should be able to add the exported XAML files directly to your Blend projects without issue.
- The second issue was related to the insane numeric precision in the exported XAML. I was using the default floating point format (%f) which outputs 6 digits after the decimal point. Not only was this precision excessive and unnecessary, but it resulted in large exports. I've modified the format to output 3 digits after the decimal point (%.3f) which should still be more than enough precision, even for close-up work. Here's an example of output from versions 0.17 and 0.18 for comparison:
0.17: <Path Data="F1 M 71.924805,320.608887 L 44.380859,179.062500 L 120.126465,175.236816 L 117.831055,269.345703 L 138.489258,267.815430...
0.18: <Path Data="F1 M 71.925,320.609 L 44.381,179.063 L 120.126,175.237 L 117.831,269.346 L 138.489,267.815...
On one of my larger test files, version 0.17 exports a 3,457KB XAML file, and version 0.18 output the same file at 2,987KB, a 14% savings.
The last small tweak I made was to rename the Silverlight and WPF formats so that they're next to each other in the "Save as type" drop-down list in the Export dialog. You'll now see "XAML for Silverlight (*.XAML)" and "XAML for WPF (*.XAML)". I hope this makes it easier to locate the formats in the list.
I've also verified that the plug-in works properly with Adobe Illustrator CS4.
Download version 0.18 from the Adobe Illustrator to XAML Export Plug-In page.