从Flagstone使用Transform SWF for Java编辑SWF文件

从Flagstone使用Transform SWF for Java编辑SWF文件,java,flash,Java,Flash,是否有人成功使用[Flagstone Software][1]中的Transform SWF for Java库 [1] :编辑现有swf文件。我主要想完成的是加载swf文件并动态替换图像或文本。谢谢。我知道有点晚了,但谷歌搜索者仍然会在这里登陆:-)这段代码会将所有文本元素的第一个文本范围涂成红色 import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java

是否有人成功使用[Flagstone Software][1]中的Transform SWF for Java库


[1] :编辑现有swf文件。我主要想完成的是加载swf文件并动态替换图像或文本。谢谢。

我知道有点晚了,但谷歌搜索者仍然会在这里登陆:-)这段代码会将所有文本元素的第一个文本范围涂成红色

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"));
    }
}

我知道现在有点晚了,但是谷歌搜索者仍然会在这里登陆:-)这段代码将把所有文本元素的第一个文本范围涂成红色

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"));
    }
}

是的,我正在开发一个生成swf文件的桌面应用程序。这有点棘手,但食谱中的样本会帮你很多。只要浏览一下示例,你就会发现几乎所有你需要的东西。一件事是,开发人员停止了框架的工作,但它仍然可以正常工作。Transform library仅支持Flash 10,Translate支持ActionScript 1.0。我必须将ActionScript2和3的代码更改为AS1,这样框架才能正常工作,在声明变量时,我只能替换变量类型

是的,我正在开发一个生成swf文件的桌面应用程序。这有点棘手,但食谱中的样本会帮你很多。只要浏览一下示例,你就会发现几乎所有你需要的东西。一件事是,开发人员停止了框架的工作,但它仍然可以正常工作。Transform library仅支持Flash 10,Translate支持ActionScript 1.0。我必须将ActionScript2和3的代码更改为AS1,这样框架才能正常工作,在声明变量时,我只能替换变量类型