Greifen jedem frame eine HTML5-canvas
Diese palette Zyklus Bilder sind atemberaubend: http://www.effectgames.com/demos/canvascycle/?sound=0
Ich würde gerne einige (oder alle) von diesen in desktop-Hintergründe.
Könnte ich eine animierte gif-version, aber ich habe keine Ahnung, wie man das von der Leinwand "animation". Ist dort nichts vorhanden, die das tun, etwas entlang diesen Linien (speficially für diesen link und in der Regel).
- Diese sind beeindruckend, technisch UND künstlerisch! Der nächste, den ich bekam, um eine Antwort war diese: stackoverflow.com/questions/923885/... das Problem ist, es scheint die Implementierung erlaubt nur statische Bilder, keine Animationen. Vielleicht ist es möglich, programmatisch erfassen jedes "frame" wird als separates Bild und dann Nähen Sie zusammen, als GIF?
- könnte funktionieren, vielleicht sollten Sie Ihren Kommentar eine Antwort, so kann ich Ihnen die Punkte, wenn niemand anderes eine Idee hat 🙂
- Meine versuchen es: imgur.com/p9gcV.gif
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Lösung, aber es ist von Ihnen abhängig sind vertraut mit der Javascript-Konsole in Firefox (installieren Sie die Firebug plugin), Chrome oder Safari.
Falls du es nicht bist, google es, oder versuchen Sie nur rechts klicken Sie irgendwo auf die Seite, wählen Sie "Element Untersuchen" und suchen Sie nach "Konsole"...
, Was der code tut:
So nehmen Sie 10 Bildschirm-Greifer die
CANVAS
element jedes 1/10tel einer Sekunde. Diese beiden Werte sind leicht modifiziert, da kann man sich zwicken, um zu finden, die Anzahl der Iterationen, die Sie möchten zu bekommen. Für das Beispiel, das Sie geben, das canvas-element-ID 'mycanvas'.Einmal hat es die Bildschirm-Greifer gibt es die Bilder in die Seite. An diesem Punkt können Sie die einzelnen Bilder.
Der code ausgeführt wird
Fügen Sie den folgenden code in das Javascript-Konsole:
und drücken Sie STRG-Enter, um es auszuführen.
Sollte es dauern, ein paar Sekunden zu laufen, so seien Sie bitte geduldig.
Danach sollten Sie alle notwendigen frames (vielleicht mehr) zur Erstellung eines animierten GIF mittels ImageMagick, diese website MakeAGif.com oder andere app.
Seite Hinweis
Wenn aus irgendeinem Grund Sie benötigen, um die Ausgabe als GIF-JPG anstelle von PNG einfach zu aktualisieren, wie erforderlich, ist dies:
einer dieser:
Unterstützung für die Ausgabe gif oder jpg möglicherweise nicht in allen Browsern (sollten).
(GROßEN) UPDATE #1
Erste, ich halte den code oben intakt, anstatt zu aktualisieren, da beide Ansätze könnten hilfreich sein für andere.
Zweiten, dieser neue code löst das problem NICHT. Es Art von macht, aber auch einen großen Nachteil. Es erzeugt ein animiertes GIF (Yipee!) aber seine in verschiedenen Schattierungen von grün (Boooo!). Nicht sicher, wie/warum, aber vielleicht kann jemand nehmen Sie es von hier und sehen, was ich verpasst habe.
So, hier gehen wir... dieselben Regeln anwenden - kopieren und füge es in die Javascript-Konsole des Browsers (es laggt in Firefox, sondern Google Chrome ziemlich schnell... 10 Sekunden oder so laufen).
Verwendet es einige hilfreiche code -, Zeiger-und JS-Dateien verwiesen, die in diesem blog-post JavaScript (Animierte) GIF. Ich benutze einige JS-Dateien direkt, aber Sie sollten kopieren Sie diese lokal, wenn du gehst, es zu benutzen viele.
Die Ausgabe war für mich dieses GIF:
So etwas, aber nicht das, was Sie brauchen...
context
variable nach der Deklaration. Gibt es irgendeine verwenden?BEARBEITEN: Schließlich diesen code zu verwenden, hier ist das Ergebnis:
Imagick erzeugt ein großes Bild, so ich ging vor und optimiert mit gimp.
Den client-seitigen code ist eine modifizierte version von Michaels code:
Schreibt er eine Reihe von base64-strings auf den Bildschirm. Kopieren Sie Sie und speichern Sie in einer text-Datei und dann laden Sie Sie auf Ihren web-server. Führen Sie dann das andere Skript (siehe unten) und schreiben Sie das Bild auf Ihren web-server. Das resultierende Bild wird groß sein und möglicherweise abgehackt, so öffnen GIMP und optimieren für Differenz-und GIF-Format. Beim speichern erzwingen, verwenden Sie die gleiche Verzögerung aller frames, so dass die animation ist glatt.
Kann nicht allzu schwer sein, mit PHP.
Da michael schon geschrieben ein nettes JS Lösung, werde ich hinzufügen, die server-side-code, wenn Sie wollen, automatisieren:
Ich geschrieben habe nicht viel von PHP für ein oder zwei Jahre so sicher sein, zu überprüfen alles und so weiter.
Nahm ich einen Blick auf den code, und es scheint, wie es sollte möglich sein, mit ein wenig hacking.
Suchen Sie in der Liste der Zyklus-Objekte in der Palette.Zyklen, Sie sollten in der Lage sein, um herauszufinden, die Zyklus Länge jedes Zyklus mit dem Zyklus.hohe, Zyklus.niedrig und Zyklus.beurteilen Sie, Felder. Das heißt, Sie müssen einen anderen Algorithmus für jede der sechs möglichen Werte für Zyklus.reverse.
Sobald Sie wissen, die Länge eines jeden Zyklus in der Liste (in Millisekunden) wenn ich bin das Lesen der code korrekt), finden Sie das kleinste gemeinsame Vielfache aller Zyklus-Längen, die würde Ihnen sagen, die Gesamtlänge der animation. In der Praxis, obwohl, werden Sie wollen, um zu Stock-teilen Sie Sie durch Ihr Beispiel-Zeitraum zunächst (sagen wir 100 Millisekunden für zehn Bildern pro Sekunde), um eine untere gemeinsame Vielfache.
Dann manipulieren die animate-Funktion in main.js nehmen tickCount-parameter und pass, die in der palette.Zyklus, anstatt alles auf Basis Echtzeit. Erhöhen Sie die Anzahl der Teilstriche, die durch Ihre sample-Periode mit jeder iteration.
Von dort aus sollten Sie in der Lage, zum ändern der Bitmap-Klasse render-Methode, indem die erforderliche Logik zum Auslesen der Leinwand in eine Datei. Es gibt Bibliotheken, die die Verwaltung das Letzte bisschen für Sie. Ich würde empfehlen das speichern der Dateien mit der tick-count als den Namen der Datei (mit genug führende Nullen halten Sie in Ordnung.) Nähte alle Bilder zusammen in eine animierte GIF möglich sein könnte, ausführen als batch-job mit der richtigen software.
Natürlich, ich habe nicht wirklich versucht, diese. Sie möchten in Prüfungen, zum Beispiel, um sicherzustellen, dass Sie nicht stolpern, eine animation, mit einer epischen Länge des Entwicklungszyklus und der Schöpfung Millionen von Bildern auf Ihrer Festplatte.
Als ein beiseite, du könntest auch mit ein wenig mehr Arbeit, herauszufinden, die genaue Zeit bis zum nächsten update und nehmen unregelmäßige Proben, aber würden Sie haben, um herauszufinden, wie zu speichern, dass eine Verzögerung von Informationen, so dass Sie können es verwenden, zu montieren die abgeschlossen GIF.
Leider nach der Kunst-Schöpfer, es ist nicht ganz möglich, Sie zu konvertieren GIF-animation durch, um verschiedene Teile des Bildes mit verschiedenen Zyklen.
Versuchen PhantomJS
Dieses script speichert 100 Bilder.
Ausführen:
Dann verwenden ImageMagick
Hier gehen wir :