⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fsimageconstructortest.java

📁 利用opensource的开源jar实现生成flash文件
💻 JAVA
字号:
package com.flagstone.transform.test;

import java.io.*;

import com.flagstone.transform.*;
import com.flagstone.transform.util.*;

public class FSImageConstructorTest
{
    private File sourceDir = null;
    private File destDir = null;
    private String extension = null;
    
    public FSImageConstructorTest()
    {
    }
    /**
     * @testng.configuration beforeTest = "true" alwaysRun = "true" 
     * @testng.parameters value = "srcDir dstDir ext"
     */
    public void configure(String srcDir, String dstDir, String ext)
    {
        sourceDir = new File(srcDir);
        destDir = new File(dstDir);
        extension = ext;
    }
    /**
     * @testng.test dataProvider="files"
     */
    public void displayImage(File imageFile)
    {
        try 
        {
            String fileName = imageFile.getName();
            fileName = fileName.substring(0, fileName.lastIndexOf('.')) + ".swf";
    
            File destFile = new File(destDir, fileName);
 
            if (destDir.exists() == false)
                assert destDir.mkdirs() : "Count not create directory: "+destDir;
            
            FSImageConstructor imageConstructor = new FSImageConstructor(imageFile.getPath());
            encodeImageToFile(imageConstructor, destFile);
        }
        catch (Exception e)
        {
            assert false;
        }
    }
    /**
     * @testng.data-provider name="files"
     */
    public Object[][] findFiles()
    {
        FilenameFilter filter = new FilenameFilter() 
        {
            public boolean accept(File directory, String name) 
            {
                String ext = name.substring(name.length()-extension.length()).toLowerCase();
                
                return ext.equals(extension);
            }
        };
        
        Object[][] parameters = new Object[0][0];
        
        if (sourceDir.exists())
        {
            String[] files = sourceDir.list(filter);
            
            parameters = new Object[files.length][1];
            
            for (int i=0; i<files.length; i++)
                parameters[i] = new Object[] { new File(sourceDir, files[i]) };
        }
        return parameters;
    }
    private void encodeImageToFile(FSImageConstructor generator, File file) throws Exception
    {
        FSMovie movie = new FSMovie();
        
        int imageId = movie.newIdentifier();
        int shapeId = movie.newIdentifier();
        
        int xOrigin = generator.getWidth()/2;
        int yOrigin = generator.getHeight()/2;
        
        FSSolidLine borderStyle = new FSSolidLine(20, FSColorTable.black());
        
        FSDefineObject image = generator.defineImage(imageId);
        FSDefineShape3 shape = generator.defineEnclosingShape(shapeId, imageId, 
            -xOrigin, -yOrigin, borderStyle);
        
        movie.setFrameRate(1.0f);
        movie.setFrameSize(shape.getBounds());
        movie.add(new FSSetBackgroundColor(FSColorTable.lightblue()));
        movie.add(image);
        movie.add(shape);
        movie.add(new FSPlaceObject2(shapeId, 1, 0, 0));
        movie.add(new FSShowFrame());
        
        movie.encodeToFile(file.getPath());
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -