import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.zip.DataFormatException;
import com.flagstone.transform.FSBounds;
import com.flagstone.transform.FSCoder;
import com.flagstone.transform.FSColor;
import com.flagstone.transform.FSColorTable;
import com.flagstone.transform.FSCoordTransform;
import com.flagstone.transform.FSDefineMorphShape;
import com.flagstone.transform.FSDefineObject;
import com.flagstone.transform.FSDefineShape3;
import com.flagstone.transform.FSMovie;
import com.flagstone.transform.FSPlaceObject;
import com.flagstone.transform.FSPlaceObject2;
import com.flagstone.transform.FSSetBackgroundColor;
import com.flagstone.transform.FSShape;
import com.flagstone.transform.FSShowFrame;
import com.flagstone.transform.FSSolidFill;
import com.flagstone.transform.FSSolidLine;
import com.flagstone.transform.util.FSImageConstructor;
public class PdfToSwfUtil {
public static final String SWF_FILE = "C:/Users/zhangliju/Desktop/手機軟件包/swf/pdf/image/img.swf";
public static final String IMAGE_SOURCE_FILE = "C:/Users/zhangliju/Desktop/手機軟件包/swf/pdf/image";
public static void main(String[] args) {
try {
// PdfToSwfUtil.setUpBeforeClass();
createMovie(IMAGE_SOURCE_FILE, SWF_FILE,1f);
// tool.transformToIMG(SWF_FILE, IMAGE_TARGET_FILE);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (DataFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* @param sourceIMG 圖片文件夾(多個圖片),或者圖片絕對路徑(單個圖片)
* @param targetSWF 保存swf路徑
* @param frameRate 每張圖片幀率 一般1秒1幀 0.1開始 越大越快
* @throws DataFormatException
* @throws IOException
*/
public static void createMovie(final String sourceIMG,final String targetSWF,final float frameRate)
throws DataFormatException, IOException {
FSMovie movie = new FSMovie();
File file = new File(sourceIMG);
int i = 1;
for (File f : file.listFiles()) {
//獲取圖片基本屬性
FSImageConstructor imageGenerator = new FSImageConstructor(f.getAbsolutePath());
//獲取圖片和畫布id
int imageId = movie.newIdentifier();
int shapeId = movie.newIdentifier();
//獲取到圖片格式
FSDefineObject image = imageGenerator.defineImage(imageId);
image.setIdentifier(imageId);
imageGenerator.defineImage(imageId);
//加入圖片
movie.add(image);
//設置swf畫布樣式、位置
FSDefineShape3 shape = imageGenerator.defineEnclosingShape
//x ,y 設置畫布邊框大小顏色
(shapeId,imageId, 0, 0, new FSSolidLine(10, FSColorTable.white()));
//加入swf模型
movie.add(shape);
//得到畫布
FSBounds bounds = shape.getBounds();
//設置畫布到容器
movie.setFrameSize(bounds);
//設置每張圖片1秒一幀
movie.setFrameRate(frameRate);
//設置容器背景顏色
movie.add(new FSSetBackgroundColor(FSColorTable.white()));
//在每一幀上添加一個圖片,並且設置上下距離爲0
movie.add(new FSPlaceObject2(shapeId, i, 0, 0));
//顯示動畫
movie.add(new FSShowFrame());
i+=2;
}
//在每一幀上添加一個圖片,並且設置上下距離爲0,這個地方需要在Flash中最後多添加一幀加入空白幀,否則顯示不正常。
movie.add(new FSPlaceObject2(-1, i, 0, 0));
//輸出路徑
movie.encodeToFile(targetSWF);
}
}
<a href="http://download.csdn.net/detail/u012659564/9219339">資源下載</a>