Render Flash (SWF) Bild als Bild (PDF, PNG, JPG)

7

Ich möchte ein Python-Skript schreiben, das eine Reihe von SWF-Dateien enthält und sie in einzelne Bilddateien rendert.

Jede SWF-Datei hat nur einen Rahmen (Text, Bilder usw.) und überhaupt keine Animationen. Ich habe bereits den Render-Befehl aus dem swftools toolset (Die Windows-Version) versucht, aber die Auflösung des resultierenden Bildes ist zu niedrig.

Also was ich brauche ist:

Ein Kommandozeilenwerkzeug (Windows / Linux) oder eine Python-Bibliothek, die einen Frame von einem swf zu einer Bitmap oder besser zu einer Art PDF-Datei rendert (Es wäre cool, wenn die Textdaten beibehalten werden könnten). Es wäre großartig, wenn die Zielauflösung / Größe manuell eingestellt werden könnte.

Vielen Dank im Voraus!

    
das_weezul 07.06.2010, 10:49
quelle

3 Antworten

3

Sie könnten beispielsweise eine AIR-App erstellen, die jede SWF lädt, den Screenshot erstellt und in eine Datei schreibt.

Die Sache ist, dass Sie etwas anstoßen müssen, um das Rendering durchzuführen, und soweit ich weiß, können Sie das ohne den Player oder einige seiner Open Source-Implementierung nicht tun.

Ich denke, Ihre beste Wette ist AIR, das SDK ist kostenlos und übergreifend -Plattform. Wenn Sie an Python gewöhnt sind, sollte das AS3 notwendig einfach sein, um zu übernehmen.

HTH,

J

    
Juan Delgado 07.06.2010, 12:02
quelle
11

Es tut mir leid, meine eigene Frage zu beantworten, aber ich fand eine undokumentierte Funktion von swfrender (Teil der swftools), indem ich durch die Quellen blättere.

%Vor%

Wie Sie vielleicht vermutet haben, können Sie mit der X-Option die Breite (in Pixeln) der Ausgabe bestimmen, und Y macht dasselbe für die Höhe. Wenn Sie nur einen Parameter einstellen, dann wird der andere in Bezug auf das ursprüngliche Höhe-Breite-Verhältnis gewählt (ziemlich nützlich)

Das ist der Trick für mich, aber da Zarate eine Lösung anbietet, die vielleicht noch besser ist (ich denke an swf zur PDF-Konvertierung), verdient er die Credits.

Prost

    
das_weezul 07.06.2010 19:12
quelle
5

Manchmal bleibt SWFRender bei sehr schweren Dateien stecken, besonders bei der Produktion von 300 dpi + Bildern. In diesem Fall kann Gnash helfen:

%Vor%

Hier wird ein letztes Bild eines Films an die Datei output.png ausgegeben, wodurch die Tonverarbeitung deaktiviert und beendet wird, nachdem das Bild gerendert wurde. Außerdem können wir hier den Skalierungsfaktor angeben oder

verwenden %Vor%

um die genaue Größe des resultierenden Bildes anzugeben.

    
Basil Gello 23.12.2010 18:53
quelle

Tags und Links