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でいろいろなサンプルを参照できます)。

  1. import java.awt.Font;
  2. import java.io.IOException;
  3. import com.flagstone.transform.*;
  4. import com.flagstone.transform.util.*;
  5. int width = 6000;
  6. int height = 1000;
  7. int border = 400;
  8. int fontSize = 240;
  9. try {
  10.     FSMovie movie = new FSMovie();
  11.     Font font = new Font(Arial”, Font.PLAIN, 1);
  12.     String txt = “The quick, brown, fox jumped over the lazy dog.”;
  13.     char[] characters = txt.toCharArray();
  14.     java.util.Arrays.sort(characters);
  15.     FSTextConstructor constructor = new FSTextConstructor(
  16.         movie.newIdentifier(), font);
  17.     constructor.willDisplay(characters);
  18.     FSDefineFont2 definition = constructor.defineFont();
  19.     FSDefineText2 text = constructor.defineText(         movie.newIdentifier(), txt, fontSize, new FSColor(0,0,0));
  20.     movie.setFrameSize(new FSBounds(-border, -border, width, height));
  21.     movie.setFrameRate(1.0f);
  22.     movie.add(new FSSetBackgroundColor(FSColorTable.lightblue()));
  23.     movie.add(definition);
  24.     movie.add(text);
  25.     movie.add(new FSPlaceObject2(text.getIdentifier(), 1, 0 , 0));
  26.     movie.add(new FSShowFrame());
  27.     movie.encodeToFile(example.swf);
  28. }
  29. catch (IOException e) {
  30.     System.err.println(Cannot write to file);
  31. }

リソース

http://sourceforge.net/projects/transform-swf 公式サイト

http://www.flagstonesoftware.com/cookbook/index.html コックブック

メインコンテンツEND ■
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 4.00 out of 5)
Loading ... Loading ...

Posted on Wednesday, 11th February 2009 by admin

Tags: , , , ,
Posted in Flash Project, Java | Comments (3) | 7,464 views

3 Responses to “Flagstone Transform: 文字列からswfを生成するオープンソースライブラリ”

  1. JavaSWF2: JavaによるFlash解析、生成ライブラリ | DigiTechLog Dot Com Says:

    [...] 何か頭中にそういうものがあるかというイメージがあるでしょう?そうそう、「はんにん」は、前回紹介した「Flagstone Transform: 文字列からswfを生成するオープンソースライブラリ」です。 [...]

  2. JGenerator: Javaで動的にテキスト、グラフィックおよび音を結合してFlash内容を生成するWebサーバの製品アプリケーション | DigiTechLog Dot Com Says:

    [...] or(jgenといわれた場合もある)とは、紹介したTransform(@see Flagstone Transform: 文字列からswfを生成するオープンソースライブラリ)、JavaSWF2(@see JavaSWF2: JavaによるFlash解析、生成ライブラリ [...]

  3. JSwiff: Adobe Flash fileの生成、操作のオープンソースのフレームワーク | DigiTechLog Dot Com Says:

    [...] ンソースのフレームワークです。Flashファイルの読み書き機能を提供しています。紹介したTransform、JavaSWF2、JGeneratorと同じのようなJavaで実装されたフレームワークですが、GoogleやYahooで検 [...]

Leave a Reply