Hallo,
da ich das Animated-PNG Format recht interessant fand, habe ich eine Klasse entwickelt mit der man einzelne Images zu einer Animation zusammen setzen kann. Allerdings ist die Benutzung zur Zeit recht eingeschränkt durch initialisieren einer Instanz mit einem
Stream in den geschrieben wird, hinzufügen der einzelnen Frames und beenden des Prozesses durch Disposen. Einige Arbeitskollegen fanden das nicht sehr komfortabel und meinten ich sollte z.B. ganze Listen direkt in eine Animation wandeln. Was würdet ihr von
einem AnimatedPngCreator erwarten?
Das Projekt ist unter folgender URL auf GitHub zu sehen:
https://github.com/cmksoftdev/AnimatedPngCreator
Außerdem ist es als Paket auf NuGet verfügbar(Name: AnimatedPngCreator)
Beispiel der Nutzung des AnimatedPngCreators:
using CMK;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
namespace ApngTest
{
class Program
{
static void Main(string[] args)
{
List<Image> images = new List<Image>
{
Image.FromFile("filename1.bmp"),
Image.FromFile("filename2.jpg"),
Image.FromFile("filename3.png")
};
short frameDelay = 1000 / 5; //5 frames per second
using (FileStream outputFile = File.Create("animated.png"))
{
using (var apngCreator = new AnimatedPngCreator(outputFile, images[0].Width, images[0].Height))
{
foreach(var image in images)
{
apngCreator.WriteFrame(image, frameDelay);
}
}
}
}
}
}
Über Verbesserungsvorschläge würde ich mich sehr freuen.
Viele Grüße, Chris