メイン 迷える子羊の部屋【初心者専用】 SWFからベクタデータを書き出す | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
miyaj | Åê¹ÆNo.48901 投稿日時: 2012-3-15 12:26 |
新米 居住地: 投稿: 13
使用環境:
Win7 FlashCS5 |
SWFからベクタデータを書き出す いつもお世話になっております。
今回、表題の件をどのように実現したら良いか全く見当が付かず、 実現方法を質問させて頂ければと思います。 Webアプリ又はAIRで、カンバス上にユーザーが自由に 図形を配置、又はテキスト入力して画像を作成し、それを ベクタデータ(SWF?SVG?)としてローカルに保存する というアプリケーションを作成したいと考えています。 その時、描画された図形やテキストをベクタデータに変換 する必要があるかと思いますが、どのように実現したら 良いでしょうか。 変換方法や変換用のライブラリ、参考サイト等がれば ご教授頂けないでしょうか。 よろしくお願いいたします。 |
永井勝則 | Åê¹ÆNo.48902 投稿日時: 2012-3-15 16:54 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: SWFからベクタデータを書き出す アドビページのSVGの基礎には次のSVGの例が書かれています。
"M"は、"moveto," "L"は"lineto"、"z"は"closepath"を表すそうです。 つまりまず(50, 10)に移動し、そこから(350, 10)まで線を引いて、さらに(200, 120)まで線を引いて閉じる、というコードです。 これをパスの描画ページを参考に、ActionScriptに対応させて考えると、
というようなコードになります。 ここで使用しているMOVE_TOやLINE_TO、( x, y )座標の値をSVGのXMLファイルに組み込み、それをSVGの仕様にのっとって保存すると、SVGファイルができあがる、という理屈になります。 GraphicsクラスのdrawGraphicsData()も利用できると思います。
|
miyaj | Åê¹ÆNo.48903 投稿日時: 2012-3-15 17:56 |
新米 居住地: 投稿: 13
使用環境:
Win7 FlashCS5 |
Re: SWFからベクタデータを書き出す ご回答頂きましてありがとうございます。
自分でSVGを書き出すということですね。 入力したテキストのアウトラインを取るようなことは 出来ますでしょうか? |
永井勝則 | Åê¹ÆNo.48904 投稿日時: 2012-3-16 12:55 |
職人 居住地: 白馬村 投稿: 796
使用環境:
Windows 7 :Flash CS4: 10.6.8 :Flash CS5.5 |
Re: SWFからベクタデータを書き出す アウトラインは要するに計算式なので、GraphicsのlineTo()の細かな繰り返しでトレースすることは、論理的には可能だと思います。
つまりフォントを表示した矩形部分のピクセルを全部しらべ、それがフォントの色と同じときにはフォントに含まれる部分なので、その外側にあたる点を求め、それを線でつなぐとアウトラインができあがります。ただしどの点とどの点を結ぶかを決めるのはやっかいだろうと思います。 もっと効率的で簡単な方法があるかもしれません。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |