Ich suche lange nach wie man Frames aus einem animierten GIF mit PHP extrahiert ... leider habe ich gerade herausgefunden, wie man ihre Dauer bekommt ...
Ich muss wirklich die GIF-Frames und ihre Dauer extrahieren, um sie auf jedes Bild zu skalieren, zu drehen, usw., und dann das GIF mit bearbeiteten Frames zu regenerieren!
Ich möchte keine Software, externe Bibliothek (wie ImageMagick) verwenden, nur PHP: Ich muss meiner Klasse Ссылка mit animiertem GIF zu arbeiten.
Wenn Sie eine Idee haben, höre ich Ihnen ^^!
Nun, ich empfehle es nicht so, aber hier ist eine Option. Animierte Gifs sind eigentlich nur eine Anzahl von Gifs, die durch ein Trennzeichen "\ x00 \ x21 \ xF9 \ x04" verkettet sind. Wenn Sie das wissen, ziehen Sie das Bild einfach als String in PHP, führen eine Explosion aus und durchlaufen das Array, in dem Ihre Transformation ausgeführt wird. Der Code könnte in etwa so aussehen.
%Vor%Ich bin nicht 100% ig sicher, was genau das Bild wieder verkettet, aber hier ist die Wikipedia-Seite bezüglich der Dateiformat von animierten GIFs .
Ich bin der Autor der Ссылка -Bibliothek, die beim Entschlüsseln von GIFs wesentlich schneller (etwa 2,5-mal) ist als Sybio/GifFrameExtractor
Bibliothek aus akzeptierter Antwort. Es hat auch weniger Speicherverbrauch, weil es Ihnen ermöglicht, ein Bild nach dem anderen zur Dekodierzeit zu verarbeiten, ohne alles auf einmal in den Speicher zu laden.
Kleines Codebeispiel:
%Vor%Ich möchte keine Software, externe Bibliothek (wie ImageMagick) verwenden
Nun, viel Glück damit, denn 90% der Funktionalität, die die Zend Engine in die PHP-Laufzeit exportiert, stammen aus Bibliotheken.
Wenn Sie eine Idee haben, höre ich Ihnen ^^!
Parsen Sie die Binärdaten im GIF-Format. Sie könnten unter anderem unpack () verwenden.
Tags und Links php frame extract gif animated-gif