Transformとは、Javaフラッシュ(.swf)ファイルを分析し、符号化するオープンソースのライブラリです。機能から見ると前回紹介した「Ming: PHP、C/C++、Perl、Python、RubyからSWFフォーマットのFlashを作成するオープンソースのライブラリ(使用例を含む)」と少し似てますね。SWFとFLVの読み込む操作をできます。サーバに入力された文字列をswfに変換して、Flashから読み込むといったこともできます。クラスおよびFlash(SWF)ファイル形式の指定のデータ構造はFlashファイルを発生させるために高レベルapiに実用的なクラスと共に提供されます。
オープンソースのプロジェクトですから、以下は該当プロジェクトの一部の情報です。
開発状況: 製品レベル/安定
想定利用者: 開発者
ライセンス: BSD License
OS: 複数OS(ソースコード互換)
開発言語: JAVA
トピック: データ形式 動的コンテンツ フレームワーク
下記は公式サイトに公開されているメインな特徴です。
- Full support for Flash 7, with Flash 9 coming soon.
- Access to all of Flash giving full control of the Player.
- Generate Flash files for any version of the desktop Flash Player.
- Generate Flash Lite files for mobile phones and devices.
- Easy to use API allows you to edit any flash file.
- Comprehensive 2-D API to draw shapes from arbitrary complex paths.
- Use OpenType or TrueType fonts to display text.
- Direct support for generating images using JPEG, PNG and BMP files.
- Add Event and streaming sounds from WAV and MP3 files.
- Plugin architecture for adding decoders for new image and sound formats.
- Java JDK integration adds support for AWT Fonts and ImageIO readers.
- Open Source, BSD licence is free for commercial use.
これを使用することで、管理側で入力された文字列をswfに変換し、Flash側で読み込み表示することでFlashにフォントを埋め込むことなく、軽量なアプリの作成が可能になります。
以下は簡単なサンプルソースです(本文最後のコックブックのURLでいろいろなサンプルを参照できます)。
- import java.awt.Font;
- import java.io.IOException;
- import com.flagstone.transform.*;
- import com.flagstone.transform.util.*;
- int width = 6000;
- int height = 1000;
- int border = 400;
- int fontSize = 240;
- try {
- FSMovie movie = new FSMovie();
- Font font = new Font(”Arial”, Font.PLAIN, 1);
- String txt = “The quick, brown, fox jumped over the lazy dog.”;
- char[] characters = txt.toCharArray();
- java.util.Arrays.sort(characters);
- FSTextConstructor constructor = new FSTextConstructor(
- movie.newIdentifier(), font);
- constructor.willDisplay(characters);
- FSDefineFont2 definition = constructor.defineFont();
- FSDefineText2 text = constructor.defineText( movie.newIdentifier(), txt, fontSize, new FSColor(0,0,0));
- movie.setFrameSize(new FSBounds(-border, -border, width, height));
- movie.setFrameRate(1.0f);
- movie.add(new FSSetBackgroundColor(FSColorTable.lightblue()));
- movie.add(definition);
- movie.add(text);
- movie.add(new FSPlaceObject2(text.getIdentifier(), 1, 0 , 0));
- movie.add(new FSShowFrame());
- movie.encodeToFile(”example.swf”);
- }
- catch (IOException e) {
- System.err.println(”Cannot write to file”);
- }
リソース
・http://sourceforge.net/projects/transform-swf 公式サイト
・http://www.flagstonesoftware.com/cookbook/index.html コックブック
Posted on Wednesday, 11th February 2009 by admin
Tags: Flagstone, SWF, Transform, オープンソース, ライブラリ
Posted in Flash Project, Java | Comments (3) | 7,464 views

(1 votes, average: 4.00 out of 5)
February 11th, 2009 at 6:48 pm
[...] 何か頭中にそういうものがあるかというイメージがあるでしょう?そうそう、「はんにん」は、前回紹介した「Flagstone Transform: 文字列からswfを生成するオープンソースライブラリ」です。 [...]
February 12th, 2009 at 6:09 pm
[...] or(jgenといわれた場合もある)とは、紹介したTransform(@see Flagstone Transform: 文字列からswfを生成するオープンソースライブラリ)、JavaSWF2(@see JavaSWF2: JavaによるFlash解析、生成ライブラリ [...]
February 16th, 2009 at 3:39 pm
[...] ンソースのフレームワークです。Flashファイルの読み書き機能を提供しています。紹介したTransform、JavaSWF2、JGeneratorと同じのようなJavaで実装されたフレームワークですが、GoogleやYahooで検 [...]