none
AnimatedPngCreator Verbesserungsvorschläge RRS feed

  • Allgemeine Diskussion

  • 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


    • Bearbeitet DerChris88 Samstag, 25. August 2018 10:57
    Samstag, 25. August 2018 10:56

Alle Antworten

  • Hi,

    ich habe dem Projekt mittlerweile eine weitere Klasse hinzugefügt, um unveränderte Pixel transparent zu machen. Durch die PNG Komprimierung sollte die APNG-Datei daraufhin kleiner sein. Dieses Feature ist auf NuGet ab Version 1.0.1 verfügbar.

    Und dass ich bis jetzt noch keine Rückmeldung bekommen habe heißt hoffentlich, dass es bis jetzt auch nichts an dem Projekt auszusetzen gab :D.

    Ich hoffe der ein oder andere kann den AnimatedPngCreator wirklich gebrauchen.

    Viele Grüße, Chris

    PS: Es gab einen Bug in v1.0.1, deswegen bitte v1.0.2 verwenden, danke.
    • Bearbeitet DerChris88 Mittwoch, 29. August 2018 20:20
    Dienstag, 28. August 2018 18:18