使用Flagstone中的Transform SWF for Java编辑SWF文件

时间:2011-05-31 20:20:05

标签: java flash

是否有人从[Flagstone Software] [1]

成功使用了转换SWF for Java库

[1]:http://www.flagstonesoftware.com/transform/index.html编辑现有的swf文件。我想要完成的主要是加载swf文件并动态替换图像或文本。谢谢。

2 个答案:

答案 0 :(得分:0)

我知道它有点晚了,但谷歌搜索者仍会登陆:-)此代码会将所有文本元素的第一个文本范围着色为红色。

import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.zip.DataFormatException;

import com.flagstone.transform.Movie;
import com.flagstone.transform.MovieTag;
import com.flagstone.transform.datatype.Color;
import com.flagstone.transform.text.DefineText;

public class Flash {
    public static void main(String args[]) throws MalformedURLException, DataFormatException, IOException {
        Movie m = new Movie();
        m.decodeFromFile(new File("C:\\tmp\\Movie.swf"));

        for (MovieTag mt : m.getObjects()) {
            System.out.println(mt.getClass() + "  " + mt.toString());
            if (mt instanceof DefineText) {
                ((DefineText) mt).getSpans().get(0).setColor(new Color(255, 0, 0));
            }
        }

        m.encodeToFile(new File("C:\\tmp\\foo.swf"));
    }
}

答案 1 :(得分:0)

是的,我正在开发一个生成swf文件的桌面应用程序。这有点棘手,但Cookbook中的样本会对你有所帮助。只需浏览一下样品,您就会发现几乎所有您需要的东西。有一件事是,开发人员停止了对框架的工作,但它仍然可以正常工作。转换库仅支持Flash 10,转换支持ActionScript 1.0。我不得不将ActionScript 2和3代码更改为AS1以使框架工作,这对我来说只是在声明变量时替换变量类型。