transform swf net core
1.0.0
.NET 핵심 포트 깃발 변환 Adobe Flash SWF 파일 조작을위한 SWF Java 라이브러리
Imagesharp 및 iconic.zlib.netstandard에 따라 다릅니다
이 패키지는 Nuget https://www.nuget.org/packages/swftransform/0.0.1-alpha에서 사용할 수 있습니다 (Pre-Release는 출판시 Pre-Release이므로)
원본 문서는 http://www.flagstonesoftware.com/transform/ 및 http://www.flagstonesoftware.com/cookbook/index.html을 참조하십시오
빠른 예제 - SWF 파일의 이미지 교체 :
using com . flagstone . transform ;
using com . flagstone . transform . image ;
using com . flagstone . transform . util . image ;
///...
var movie = new Movie ( ) ;
movie . decodeFromFile ( new FileInfo ( "orig.swf" ) ) ; //read swf from file
//print all objects in swf file
foreach ( var obj in movie . Objects )
{
Debug . WriteLine ( obj . ToString ( ) ) ;
}
//find image in SWF file (there can be several types - DefineImage, DefineImage2, DefineJpegImage, etc
var image = movie . Objects . OfType < DefineImage > ( ) . FirstOrDefault ( ) ;
if ( image != null )
{
var imgBytes = imageStream . ToArray ( ) ; //in this particular example we have RAW image stream in RGBA format
PNGDecoder . applyAlpha ( imgBytes ) ;
var compressed = PNGDecoder . zip ( imgBytes ) ;
var newImage = new DefineImage ( image . Identifier , ( int ) size . Width , ( int ) size . Height , compressed , 24 ) ; //create SWF image directly
movie . Objects . Insert ( movie . Objects . IndexOf ( image ) , newImage ) ;
movie . Objects . Remove ( image ) ;
}
movie . encodeToFile ( new FileInfo ( "modified.swf" ) ) ;