transform swf net core
1.0.0
.NET Core Port of Flagstone Transform SWF Java Library para manipular archivos Adobe Flash SWF
Depende de ImagesSharp e Iconic.zlib.netstandard
El paquete está disponible en nuget https://www.nuget.org/packages/swftransform/0.0.1-alpha (antes de la retracción desde que imágenes de imágenes es previa al tiempo en el momento de la publicación)
Para la documentación original, consulte http://www.flagstonesoftware.com/transform/ y http://www.flagstonesoftware.com/cookbook/index.html
Ejemplo rápido: reemplace una imagen en el archivo 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" ) ) ;