2012/09/08(土) [n年前の日記]
#1 [as3][flash][actionscript][cg_tools] FlashDevelopでFXGを使う
全然知らなかったのだけど、Adobe は FXG というベクター画像フォーマットを打ち出していたらしい。Flex あたりで利用することを想定してたのだろうか。一応、Illustrator 等、Adobe各製品から出力することができるらしい。
FlashDevelop上で svg を Embed してたら、コンパイラが「svg なんかより fxg のほうがオススメだよ!」とわざわざ警告を出していて。そこでようやく、そんな画像フォーマットがあることに気付いたわけで。
試しに FXG とやらも ActionScript3 で表示してみたい。と思ったものの、svg から fxg に変換するツールが全く見つからない…。
_flex4 - FXG Editor for Flex - Stack Overflow で、Inkscape から FXG として別名保存できる拡張を見かけた。
_svg2fxg.inx と _svg2fxg.xsl のページからそれぞれファイルを取得して、Inkscapeインストールフォルダ\share\extensions\ 以下にコピーしたら、別名保存時に "Flash XML Graphics (*.fxg)" という選択肢が選べるようになった。
これで FXG ファイルが出来たので、FlashDevelop を使って表示の実験。以下のページを参考に。
_FlashDevelop.org - View topic - How to embed vector images ?
_[Flex] グラフィックアセットの埋め込み | クラスメソッド開発ブログ
svg画像の場合は、ソース中でEmbedを記述して埋め込んでいたけれど。FXG の場合は、import で埋め込む(?)らしい。例えば、ソースと同じ階層に Hoge.fxg というファイルを置いたなら、import Hoge; とすればいい。package piyo.fuga 以下なら、import piyo.fuga.Hoge; になるのかな。たぶん。
呼び出す・使う時は、var spr:Sprite = new Hoge() as Sprite; みたいな感じ。
で。実際表示してみたのだけど。svgの時には表示されていたものが、fxgになったら表示されなかった。どうやら、Inkscape で無頓着に保存した FXG は、svg のコマンド?の一部しか対応していないっぽい。 _SpecFXGExport - Inkscape Wiki にも、Not supported の一覧が。
Inkscape 上で、グループ解除、オブジェクトをパスに変換、等をした上で、最適化svg として保存した後、その svgを開いた直後に fxg保存してみたり。…これなら一応それらしく表示された。
ただ、Inkscape では、保存した FXG を開き直すことができないようで。これでは一方通行、最終保存フォーマットだな…。なかなか厳しい。しかも、 _flex4 - FXG Editor for Flex - Stack Overflow では、Inkscape で保存した FXG を Flash CS 5.5 で読み込んだらクラッシュした、なんて話も。ますます厳しい。
FlashDevelop上で svg を Embed してたら、コンパイラが「svg なんかより fxg のほうがオススメだよ!」とわざわざ警告を出していて。そこでようやく、そんな画像フォーマットがあることに気付いたわけで。
試しに FXG とやらも ActionScript3 で表示してみたい。と思ったものの、svg から fxg に変換するツールが全く見つからない…。
_flex4 - FXG Editor for Flex - Stack Overflow で、Inkscape から FXG として別名保存できる拡張を見かけた。
_svg2fxg.inx と _svg2fxg.xsl のページからそれぞれファイルを取得して、Inkscapeインストールフォルダ\share\extensions\ 以下にコピーしたら、別名保存時に "Flash XML Graphics (*.fxg)" という選択肢が選べるようになった。
これで FXG ファイルが出来たので、FlashDevelop を使って表示の実験。以下のページを参考に。
_FlashDevelop.org - View topic - How to embed vector images ?
_[Flex] グラフィックアセットの埋め込み | クラスメソッド開発ブログ
svg画像の場合は、ソース中でEmbedを記述して埋め込んでいたけれど。FXG の場合は、import で埋め込む(?)らしい。例えば、ソースと同じ階層に Hoge.fxg というファイルを置いたなら、import Hoge; とすればいい。package piyo.fuga 以下なら、import piyo.fuga.Hoge; になるのかな。たぶん。
呼び出す・使う時は、var spr:Sprite = new Hoge() as Sprite; みたいな感じ。
で。実際表示してみたのだけど。svgの時には表示されていたものが、fxgになったら表示されなかった。どうやら、Inkscape で無頓着に保存した FXG は、svg のコマンド?の一部しか対応していないっぽい。 _SpecFXGExport - Inkscape Wiki にも、Not supported の一覧が。
Inkscape 上で、グループ解除、オブジェクトをパスに変換、等をした上で、最適化svg として保存した後、その svgを開いた直後に fxg保存してみたり。…これなら一応それらしく表示された。
ただ、Inkscape では、保存した FXG を開き直すことができないようで。これでは一方通行、最終保存フォーマットだな…。なかなか厳しい。しかも、 _flex4 - FXG Editor for Flex - Stack Overflow では、Inkscape で保存した FXG を Flash CS 5.5 で読み込んだらクラッシュした、なんて話も。ますます厳しい。
◎ Webサイト上でFXGを作れるサービスがあるらしい。 :
_FXG Editor Guide
_FXG Editor
_SVG Editor
FXG あるいは SVG を作成できる模様。と思ったが、FXG Editor で画像を作成して保存したら画像が真っ黒になってしまった。また、そもそもローカル保存できないような…。xml内容をウインドウに表示することができるから、それをコピペしてどうにか、という感じなのかなあ。
全然関係ないけど、ギャラリー内で上手く保存できなかったアイテムを削除できる機能が欲しいと思ったり。
_FXG Editor
_SVG Editor
FXG あるいは SVG を作成できる模様。と思ったが、FXG Editor で画像を作成して保存したら画像が真っ黒になってしまった。また、そもそもローカル保存できないような…。xml内容をウインドウに表示することができるから、それをコピペしてどうにか、という感じなのかなあ。
全然関係ないけど、ギャラリー内で上手く保存できなかったアイテムを削除できる機能が欲しいと思ったり。
[ ツッコむ ]
以上です。