Samstag, Januar 18, 2020

Flash (SWF) – frame als Bilddatei (PDF,PNG,JPG)

Möchte ich schreiben, ein python-Skript, das eine Reihe von swf-Dateien und rendert diese, um die einzelnen Bild-Dateien.

Jeder swf-Datei ist nur ein frame (Texte, Bilder etc.) und keine Animationen überhaupt. Ich habe bereits versucht die render-Befehl aus der swftools-toolset (windows-version), aber die Auflösung des resultierenden Bildes ist zu gering.

Also was ich brauche ist:

Einem Kommandozeilen-tool (Windows/Linux) oder eine python-Bibliothek rendert einen frame aus einer swf-Datei eine bitmap-oder besser, etwas wie ein PDF (Es wäre cool, wenn die text-Daten konnte beibehalten werden). Es wäre toll, wenn die Ziel-Auflösung/- Größe kann manuell eingestellt werden.

Vielen Dank im Voraus!

InformationsquelleAutor das_weezul | 2010-06-07

3 Kommentare

  1. 3

    Können Sie zum Beispiel erstellen Sie eine AIR-app, die lädt jedes SWF, nimmt den screenshot und schreibt es in eine Datei.

    Ist die Sache, die Sie brauchen, um kick-off, etwas zu tun, die render-und, soweit ich weiß, kann man nicht tun, ohne dass der Spieler oder einige seiner Open-Source-Implementierung.

    Ich denke, Ihre beste Wette ist, gehen, LUFT, die SDK ist kostenlos und cross-Plattform. Wenn Sie verwendet werden, um python, den AS3 notwendig, sollte einfach genug zu Holen.

    HTH,

    J

    • Danke! Habe nicht daran gedacht. Ich werde es einmal versuchen und poste meine Ergebnisse.
  2. 11

    Tut mir Leid für die Antwort auf meine eigene Frage, aber ich fand, dass eine nicht dokumentierte Funktion von swfrender (Teil von swftools), indem Sie die Quellen.

    swfrender path/to/my.swf -X<width of output> -Y<height of output>
    -o<filename of output png>

    Wie Sie vielleicht schon erraten haben, die X-option ermöglicht Ihnen bestimmen Sie die Breite (in Pixel) der Ausgabe und Y das gleiche für die Höhe. Wenn Sie nur auf einen parameter, dann der andere gewählt wird, in Bezug auf die original-Höhe-Breite-Verhältnis (ziemlich nützlich)

    Dass der trick funktioniert für mich, aber wie Zarate bot eine Lösung, die vielleicht sogar besser sind (ich denke da an swf-zu-PDF-Konvertierung) er verdient den credits.

    Cheers

    • Nicht den job tun, mit Transparenz, gibt es keine alternative in der Zwischenzeit?
  3. 5

    Manchmal SWFRender steckt in sehr großen Dateien, vor allem bei der Herstellung von 300dpi+ Bilder. In diesem Fall Knirschen kann helfen:

    gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf

    hier wir Müllkippe eine Letzte frame des Film-Datei ausgegeben.png deaktivieren sound-Verarbeitung und-Ausstieg nach der frame gerendert wird. Auch können wir geben Sie den Skalierungsfaktor hier oder verwenden Sie

    -j width -k height

    angeben, die genaue Größe des resultierenden Bildes.

Kostenlose Online-Tests