GD oder Imagmagick

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • GD oder Imagmagick

    Ich möchte ein script machen, das ein animiertes gif einer Schachpartie erstellt, in etwa so (auch von mir): http://de.wikipedia.org/wiki/Bild:Narrenmatt.gif
    Am Anfang habe ich nur ein xml file mit Strings mit den einzelnen Positionen nach den Zügen. Dann nehme ich alle Figuren her (ist es besser jede Figur einzeln zu haben oder in einer Datei und sie dann auszuschneiden? Clipping??) und erstelle mit den GD-libs für jede Position (jeden zug) ein Bild vom Brett. Dann füge ich mit Imagmagick per (php exec()) convert alle Bilder zu einem animierten gif zusammen.
    Das braucht mächtig viel Zeit und Platz, also ist es gut, es effizient zu machen. Wer ist schneller: GD oder Imagemagick? Wo kann ich noch Zeit einsparen?
    Wer kennt php4-imagick was kann das?
    Danke für Antworten, Hilfen, Tipps,
    Thomas

  • #2
    Re: GD oder Imagmagick

    ist denn gif wirklich das geeignete format für sowas?
    das läuft ab, und ich als nutzer habe keinerlei möglichkeit der interaktion.

    da würde ich flash doch vorziehen. da könnte ich den ablauf anhalten, vor und zurück springen, ggf. sogar noch die generelle ablaufgeschwindigkeit einstellen - ist doch alles viel komfortabler, wenn ich als betrachter eine schachpartie nachvollziehen möchte. als schach-noob ist mir die geschwindigkeit der züge in deinem gif vermutlich zu hoch, und ich kann mir vorangegangene züge nicht immer merken - als schachcrack hingegen möchte ich vielleicht, dass es schneller geht oder auch mal ein paar züge überspringen ...

    außerdem sollte sich die umsetzung der züge aus den XML-daten per actionscript m.E. recht easy realisieren lassen.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      oder per JavaScript ... 12 kleine Grafiken für die Figuren (6 schwarz, 6 weiß), und ein Skript, dass den Film abspult - eben auf Wunsch auch Einzelbild, mit einstellbarer Geschwindigkeit bzw. Verzögerung (setInterval) oder rückwärts.

      Was das gif angeht: Eventuell lohnt es sich, einfach jede Figur einzeln als Layer dahin zu setzen, wo sie im Verlauf des Spiels steht und dann je nach frame die layer ein und auszuschalten. (oder tut ImageReady nur so als ob das so wär?)

      Ich wär aber trotzdem für Flash oder JavaScript.
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        Flash kenne ich überhaupt nicht und werde ich jetzt auch deshalb nicht lernen.
        Javascript gibt's schn auf der seite: http://www.redhotpawn.com/gameanalys...gameid=1301904
        Ich will ein gif, weil das überall läuft und portable und ohne plugin und so möglich ist.
        danke für euren input! bin gespannt auf weitere anregungen!
        das mit den layers ist interessant, ich kenn mich da viel zu wenig aus. ich nutze jetzt mal convert ( http://www.imagemagick.org/script/convert.php ), ev kann man deine idee da auch mit irgendwelchen optionen umsatzen. ein pb ist, dass die kleine grafik schnell mal paar MB groß ist, weil es viele (80 bei 40 zügen) einzelbilder sind, wo fast alles gleich bleibt.
        lg
        th

        Kommentar


        • #5
          Die platzsparendste Methode ohne Flash und JS wäre, bei jedem Aufruf des Skripts ein neues Bild zu generieren - geht dann natürlich wieder auf die Geschwindigkeit, aber der Platzaufwand für Grafiken ist der gleiche wie bei der JS-Variante.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Ja, stimmt, aber das ausführen kostet viel zeit. ca 40 sec für eine mittellange partie. da cache ich die partien um so zu sparen.
            danke für den hinweis, ich werde es mir mal überlegen, was ich tue...
            th

            Kommentar

            Lädt...
            X