Illustrator からXAMLファイル生成

プラグインとかでできるという噂は聞いていたので試してみた。
まずIllustratorでこんなの作る。

CS3はこれまたメニュー構造が変わっていて慣れない。ちなみにIllustratorファイルを一発でPhotoshopに持っていくやり方すら分からず。Adobe Bridgeボタンはあるのでそれを中間にかませろってことなのかな??
Illustratorで、「別名で保存」または「書き出し」の中にXAML形式はありませんでした。
そこで、コレ!
Adobe Illustrator to XAML Export

アレ?

The current version of the plug-in requires Adobe Illustrator CS or CS2 running on Windows

もしかしてCS3未対応?(・_・。)グスン
とにかく試してみる。解凍したファイルをC:\Program Files\Adobe\Adobe Illustrator CS3\プラグイン フォルダに置く。Illustrator再起動。

ファイル→書き出し のファイル形式にXAMLが増えましたー。やったー。
あれ?XAML2種類あるよ。どっち使うあるの?
ああ、「Windows Presentation Foundation/Everywhere XAML 」というのはWPF/E つまりSilverlight用ということか。まずは純粋にふつうのXAMLで書き出し。

こんなんできました

<!-- Generated by Adobe Illustrator CS -> XAML Export Plug-In Version 0.16      -->
<!-- For questions, contact Mike Swanson: http://www.mikeswanson.com/XAMLExport -->

<Viewbox Width="213.359375" Height="155.494141"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Width="213.359375" Height="155.494141">

  <Canvas>

  <!-- レイヤー 1/<パス> -->
  <Path StrokeThickness="1.000000" Stroke="#ff221714" StrokeMiterLimit="1.000000" Fill="#ffce6a6f" Data="F1 M 24.117676,17.478516 C 56.470703,6.301758 98.235840,-10.168457 108.823730,23.360840 C 119.411621,56.890137 165.882324,73.360352 113.529297,88.066406 C 61.176270,102.772461 28.823730,119.243164 18.235352,84.537109 C 7.646973,49.831055 24.117676,17.478516 24.117676,17.478516 Z"/>

  </Canvas>
</Canvas>
</Viewbox>

わーい。
では早速Visual Studioで動作確認。上記のXAMLはViewboxタグから始まっていることもあり、楽をしたかったので、
WPFプロジェクトを新規作成して、デフォルトで作られるWindow1.xaml 中身は

<Window x:Class="WindowsApplication1.Window3"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="WindowsApplication1" Height="300" Width="300"
    >
    <Grid>
        
    </Grid>
</Window>

のGridの間に先ほどのXAMLをコピペ。(もっと楽なやり方ご存知の方教えてください。。)
実行!

あれ?画像は出たけど文字が表示されないよ。XAML変換失敗かな。薄々感づいてはいたんだけどね。XAMLの部分に文字に関する記述がなさそうだったから。

さあ、どうしよう。あ、もしかしてイラレで文字をアウトライン化すればいいってこと?(この辺.NETな人には意味不明でごめんなさい)
再度Ilustratorで文字をアウトライン化してXAML出力。なんか行けたっぽいぞ。さっきと明らかにXAMLが異なっている。というかすごいことになっている。見たい?見たい?




<!-- Generated by Adobe Illustrator CS -> XAML Export Plug-In Version 0.16      -->
<!-- For questions, contact Mike Swanson: http://www.mikeswanson.com/XAMLExport -->

<Viewbox Width="205.968750" Height="149.134277"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Canvas Width="205.968750" Height="149.134277">

  <Canvas>

  <!-- レイヤー 1/<パス> -->
  <Path StrokeThickness="1.000000" Stroke="#ff221714" StrokeMiterLimit="1.000000" Fill="#ffce6a6f" Data="F1 M 23.421387,17.478516 C 55.774414,6.301758 97.539551,-10.168457 108.127441,23.360840 C 118.715332,56.890137 165.186035,73.360352 112.833008,88.066406 C 60.479980,102.772461 28.127441,119.243164 17.539063,84.537109 C 6.950684,49.831055 23.421387,17.478516 23.421387,17.478516 Z"/>

  <Canvas>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 13.272949,147.478027 L 10.992676,147.478027 L 8.592285,143.253906 C 7.680664,141.717773 7.104492,140.733398 6.528320,139.629395 L 6.480469,139.629395 C 5.952148,140.733398 5.424316,141.693359 4.512207,143.253906 L 2.279785,147.478027 L 0.000000,147.478027 L 5.424316,138.213379 L 0.215820,129.188477 L 2.496094,129.188477 L 4.968262,133.652832 C 5.616211,134.804688 6.120117,135.716797 6.624512,136.749023 L 6.696289,136.749023 C 7.224609,135.645020 7.704590,134.804688 8.352539,133.652832 L 10.872559,129.188477 L 13.152832,129.188477 L 7.776367,138.093262 L 13.272949,147.478027 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 24.576172,139.965332 L 22.775879,134.541016 C 22.392090,133.292969 22.080078,132.140625 21.839844,131.060547 L 21.768066,131.060547 C 21.527832,132.164551 21.191895,133.316895 20.855957,134.468750 L 19.031738,139.965332 L 24.576172,139.965332 Z M 29.064453,147.478027 L 26.952637,147.478027 L 24.984375,141.549316 L 18.623535,141.549316 L 16.703613,147.478027 L 14.663574,147.478027 L 20.711914,129.188477 L 23.016113,129.188477 L 29.064453,147.478027 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 48.984863,147.478027 L 47.016602,147.478027 L 46.560547,139.245117 C 46.416504,136.628906 46.224609,133.244629 46.248535,131.372559 L 46.176270,131.372559 C 45.576172,133.437012 44.832520,135.692871 43.944336,138.237305 L 40.680176,147.406250 L 39.215820,147.406250 L 36.167480,138.429199 C 35.279297,135.789063 34.583496,133.484863 34.079590,131.372559 L 34.007324,131.372559 C 33.959473,133.604980 33.815430,136.628906 33.647461,139.437500 L 33.143066,147.478027 L 31.247070,147.478027 L 32.519043,129.188477 L 34.967285,129.188477 L 38.183594,138.477051 C 38.951660,140.757324 39.551758,142.701660 40.031738,144.597656 L 40.104004,144.597656 C 40.560059,142.749512 41.184082,140.829590 42.000000,138.477051 L 45.336426,129.188477 L 47.832520,129.188477 L 48.984863,147.478027 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 62.111816,147.478027 L 52.559082,147.478027 L 52.559082,129.188477 L 54.551270,129.188477 L 54.551270,145.773926 L 62.111816,145.773926 L 62.111816,147.478027 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 79.151855,131.876465 C 82.248047,131.804688 86.424805,131.516602 89.616699,130.964844 L 89.760742,132.644531 C 86.784668,133.148926 81.960449,133.460938 79.200195,133.532715 L 79.151855,131.876465 Z M 90.265137,146.541992 C 89.400879,146.589844 88.512695,146.613770 87.624512,146.613770 C 85.920410,146.613770 84.312500,146.518066 83.160156,146.350098 C 80.208008,145.917969 78.839844,144.285645 78.839844,142.365723 C 78.839844,140.709473 79.751953,139.317383 81.096191,137.733398 L 82.656250,138.405273 C 81.456055,139.653320 80.616211,140.805664 80.616211,142.173340 C 80.616211,144.958008 84.696289,144.958008 87.192871,144.958008 C 88.200684,144.958008 89.280762,144.909668 90.289063,144.837891 L 90.265137,146.541992 Z M 74.975586,128.996582 C 74.903809,129.260254 74.663574,129.404297 74.183594,129.380371 C 73.343262,133.292969 72.911621,137.589355 72.911621,140.181641 C 72.911621,141.981445 72.983398,143.805664 73.223633,144.933594 C 73.679688,143.757813 74.711426,141.237305 75.047852,140.397461 L 76.055664,141.453613 C 75.071777,143.877930 74.351563,145.245605 74.015625,146.326172 C 73.895508,146.733887 73.823730,147.118164 73.823730,147.454102 C 73.823730,147.718262 73.871582,147.958008 73.943359,148.198242 L 72.239258,148.510254 C 71.471191,146.229980 71.183105,143.445801 71.183105,140.253418 C 71.183105,137.109375 71.687500,132.716797 72.455566,128.564453 L 74.975586,128.996582 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 114.457031,135.668945 C 111.744629,135.692871 108.456543,136.125000 105.960449,136.845215 L 105.696289,135.333008 C 108.432617,134.541016 111.744629,134.037109 114.360840,134.037109 L 114.457031,135.668945 Z M 107.880371,144.141602 C 106.896484,143.757813 105.888184,143.589844 105.023926,143.589844 C 103.583984,143.589844 101.879883,144.165527 101.855957,145.653809 C 101.855957,147.021973 103.200195,147.669922 105.072266,147.669922 C 106.800293,147.669922 107.904297,146.830078 107.904297,145.245605 C 107.904297,144.861816 107.904297,144.501953 107.880371,144.141602 Z M 109.200684,138.141113 C 109.224609,140.085449 109.368652,141.405273 109.512695,143.061523 C 111.048828,143.661621 113.041016,144.693848 114.625000,145.845703 L 113.760742,147.381836 C 112.440918,146.374023 110.808594,145.437988 109.512695,144.861816 C 109.512695,147.262207 108.552246,149.134277 105.023926,149.134277 C 102.359863,149.134277 100.319824,147.934082 100.343750,145.677734 C 100.343750,143.277832 102.863770,142.125488 105.072266,142.125488 C 105.936035,142.125488 106.824219,142.293457 107.784180,142.557617 C 107.688477,141.021484 107.568359,139.461426 107.568359,138.333008 L 109.200684,138.141113 Z M 102.815918,127.916504 C 102.744141,128.108398 102.503906,128.300293 102.071777,128.324219 C 101.903809,129.380371 101.687988,130.628418 101.471680,131.564453 C 103.824219,131.420410 106.440430,131.012695 108.528320,130.388672 L 108.792480,132.020508 C 106.560059,132.572754 103.919922,132.956543 101.159668,133.172852 C 100.007813,137.781250 98.423340,141.525391 96.071289,144.981934 L 94.463379,144.333984 C 96.647461,141.189453 98.303711,137.589355 99.335449,133.220703 L 94.559082,133.220703 L 94.559082,131.660645 L 97.415527,131.660645 C 98.159668,131.660645 98.927734,131.636719 99.623535,131.636719 C 99.911621,130.364746 100.127930,128.996582 100.295898,127.580078 L 102.815918,127.916504 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 129.000000,147.357910 C 129.720215,147.357910 130.560059,147.262207 131.184570,147.118164 C 130.920410,145.270020 129.552246,143.709473 127.775879,143.709473 C 126.527832,143.709473 125.423828,144.381836 125.423828,145.485840 C 125.423828,146.950195 127.416016,147.357910 129.000000,147.357910 Z M 125.687988,137.757324 C 127.271973,136.940918 129.744141,136.365234 131.640137,136.365234 C 135.456543,136.365234 137.856934,138.597168 137.856934,142.125488 C 137.856934,146.469727 134.040527,148.870117 129.216309,148.870117 C 126.095703,148.870117 123.959473,147.622070 123.959473,145.509766 C 123.959473,143.733887 125.711914,142.293457 127.895996,142.293457 C 130.608398,142.293457 132.432617,144.453613 132.792480,146.638184 C 134.712402,145.917969 136.104980,144.381836 136.104980,142.149414 C 136.104980,139.557129 134.184570,137.901367 131.160156,137.901367 C 127.560059,137.901367 124.031738,139.509277 122.447754,141.045410 C 121.727539,141.717773 120.791504,142.725586 120.143555,143.469727 L 118.919434,142.245605 C 121.079590,139.989258 127.943848,133.437012 131.208496,130.388672 C 129.816406,130.580566 125.015625,130.772461 122.279785,130.868652 C 122.207520,131.036621 121.967773,131.180664 121.775391,131.228516 L 121.583496,129.188477 C 124.823730,129.164551 131.016113,128.924316 132.768555,128.660156 L 133.128418,128.492188 L 134.400391,130.052734 C 134.280762,130.148438 134.064453,130.244629 133.824707,130.268555 C 132.120605,131.660645 127.560059,135.933105 125.687988,137.733398 L 125.687988,137.757324 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 161.928711,139.917480 C 161.160645,136.413086 158.880859,133.437012 156.528320,131.708496 L 157.824707,130.700684 C 160.368652,132.500977 162.889160,135.812988 163.657227,139.245117 L 161.928711,139.917480 Z M 150.815918,128.372559 C 150.768066,128.660156 150.479980,128.780273 150.023926,128.804199 C 149.759766,130.148438 149.327637,132.476563 149.040039,133.916992 C 150.120117,133.796875 151.104004,133.700684 151.704102,133.700684 C 155.352539,133.652832 156.600586,136.077148 156.600586,139.677246 C 156.600586,141.477539 156.264648,143.613770 155.784180,145.053711 C 155.040527,147.501953 153.504395,148.678223 151.512207,148.678223 C 150.527832,148.678223 149.231934,148.270020 147.167480,146.589844 C 147.431641,146.157715 147.623535,145.629883 147.815918,145.125977 C 149.735840,146.613770 150.744141,146.950195 151.487793,146.950195 C 152.855957,146.950195 153.672363,146.085938 154.152344,144.549805 C 154.656250,143.061523 154.920410,140.853516 154.920410,139.629395 C 154.896484,136.893066 154.008301,135.260742 151.607910,135.285156 C 150.888184,135.285156 149.903809,135.380859 148.679688,135.524902 C 147.479492,140.421387 146.063477,144.621582 143.759277,148.486328 L 142.175293,147.718262 C 144.503418,143.997559 145.823730,140.277344 146.951660,135.716797 C 145.727539,135.860840 143.975586,136.077148 142.679199,136.292969 L 142.535156,134.612793 C 143.711426,134.468750 145.679688,134.252930 147.287598,134.061035 C 147.647461,132.308594 148.031738,130.148438 148.319824,128.036133 L 150.815918,128.372559 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 186.457031,135.668945 C 183.744629,135.692871 180.456543,136.125000 177.960449,136.845215 L 177.696289,135.333008 C 180.432617,134.541016 183.744629,134.037109 186.360840,134.037109 L 186.457031,135.668945 Z M 179.880371,144.141602 C 178.896484,143.757813 177.888184,143.589844 177.023926,143.589844 C 175.583984,143.589844 173.879883,144.165527 173.855957,145.653809 C 173.855957,147.021973 175.200195,147.669922 177.072266,147.669922 C 178.800293,147.669922 179.904297,146.830078 179.904297,145.245605 C 179.904297,144.861816 179.904297,144.501953 179.880371,144.141602 Z M 181.200684,138.141113 C 181.224609,140.085449 181.368652,141.405273 181.512695,143.061523 C 183.048828,143.661621 185.041016,144.693848 186.625000,145.845703 L 185.760742,147.381836 C 184.440918,146.374023 182.808594,145.437988 181.512695,144.861816 C 181.512695,147.262207 180.552246,149.134277 177.023926,149.134277 C 174.359863,149.134277 172.319824,147.934082 172.343750,145.677734 C 172.343750,143.277832 174.863770,142.125488 177.072266,142.125488 C 177.936035,142.125488 178.824219,142.293457 179.784180,142.557617 C 179.688477,141.021484 179.568359,139.461426 179.568359,138.333008 L 181.200684,138.141113 Z M 174.815918,127.916504 C 174.744141,128.108398 174.503906,128.300293 174.071777,128.324219 C 173.903809,129.380371 173.687988,130.628418 173.471680,131.564453 C 175.824219,131.420410 178.440430,131.012695 180.528320,130.388672 L 180.792480,132.020508 C 178.560059,132.572754 175.919922,132.956543 173.159668,133.172852 C 172.007813,137.781250 170.423340,141.525391 168.071289,144.981934 L 166.463379,144.333984 C 168.647461,141.189453 170.303711,137.589355 171.335449,133.220703 L 166.559082,133.220703 L 166.559082,131.660645 L 169.415527,131.660645 C 170.159668,131.660645 170.927734,131.636719 171.623535,131.636719 C 171.911621,130.364746 172.127930,128.996582 172.295898,127.580078 L 174.815918,127.916504 Z"/>

  <!-- レイヤー 1/<グループ>/<複合パス> -->
  <Path Fill="#ff000000" Data="F1 M 198.815918,146.301758 C 198.815918,145.077637 199.680176,144.693848 200.231934,144.693848 C 201.072266,144.693848 201.624023,145.341797 201.624023,146.253906 C 201.624023,146.998047 201.144043,147.742188 200.208008,147.742188 C 199.416016,147.742188 198.815918,147.093750 198.815918,146.301758 Z M 199.248047,142.461426 C 199.080078,141.525391 199.056152,141.381348 199.056152,140.973633 C 199.056152,139.629395 199.680176,138.381348 201.336426,136.893066 C 203.064453,135.356934 203.976563,134.420898 203.976563,133.052734 C 203.976563,131.564453 202.656250,130.484375 199.992188,130.484375 C 198.527832,130.484375 197.015625,130.868652 196.007813,131.420410 L 195.359863,130.028320 C 196.679688,129.356445 198.527832,128.924316 200.208008,128.924316 C 204.360352,128.924316 205.968750,130.868652 205.968750,132.860840 C 205.968750,134.708984 204.768555,136.004883 202.872559,137.613281 C 201.479980,138.789063 200.880371,139.893555 200.880371,141.117676 C 200.880371,141.309570 200.904297,141.501465 200.928223,141.717773 L 201.048340,142.461426 L 199.248047,142.461426 Z"/>

  </Canvas>

  </Canvas>
</Canvas>
</Viewbox>

うわー・・・


落着きを取り戻して再度Visual Studioで確認。

やったー。


真面目な話をすればこれでデザイナーさんをWPF開発に取り込みやすくなる。開発フローの改善ができるかも。