Leinwand ist cool! - Seite 39

 
Ilyas:

GIF- und PNG-Leser waren bereits hier https://www.mql5.com/ru/forum/92113#comment_2672596

Nach seiner Funktionalität zu urteilen, ist es ein "Entpacker" des Formats. Entwickelt, um Daten aus einer .gif-Datei zu lesen. Um die Portierung abzuschließen, müssen Sie MQL mit der Ccanvas-Klasse eine Wiedergabefunktionalität hinzufügen.

ZS. Immerhin Leser.

 
Dmitry Fedoseev:

...

Sind Sie der Autor des portierten Readers?
 
keine
 
Dmitry Fedoseev:
keine
Wenn Sie Zorro kennen, sagen Sie ihm, dass er gut ist, und lassen Sie ihn versuchen, die Portierung zu beenden, indem er einen Replay-Algorithmus in MQL schreibt. Es wird ihm schwer fallen, aus dem 19. Jahrhundert zu kommen, aber er soll es versuchen).
 
Реter Konow:

Vor allem für Peter :) war nicht faul!


Dateien:
show_gif.ex5  2989 kb
 
Yury Kulikov:

Vor allem für Peter :) war nicht faul!


Danke. Es handelt sich doch nicht um einen Brute-Force-Überlauf von .bmp-Bildern, die mit dem Befehl #resource komprimiert wurden, oder? ))) Definitiv nicht. Es ist ein natürlicher, in ein paar Stunden umgeschriebener Gif-Datei-Wiedergabe-Adapter auf MQL-Canvas, basierend auf dem portierten .gif-Reader. Ich muss von außen wie ein Idiot aussehen)))

Yuri, danke für die Demo, aber so etwas kann jeder machen. Einfach.

  1. Nehmen Sie ein einfaches Gif. Nehmen Sie es auf Video auf.
  2. Holen Sie alle Bilder aus dem Video.
  3. Speichern Sie Bilder im .bmp-Format, nummeriert.

  4. Integrieren Sie Frames über #resource in das Skript.

  5. Durchlaufen Sie die Rahmen in einer Endlosschleife und zeigen Sie sie nacheinander auf der Leinwand an.

Als Ergebnis erhalten wir ein Pseudo-Gif, das keinen Bezug zur Standard-Gif-Format-Darstellung in MQL-Programmen hat.

//-----------------------------

Hinzugefügt:

Ich werde sagen, dass ich auch ein "Pseudo-Gif" habe, aber die Technologie ist viel komplexer. Es verfügt über eine Autorenkompression und einen Wiedergabemechanismus. Und das Wichtigste: Die "Pseudo-Gifs" sind an ihre Elemente gebunden und werden aus einem gemeinsamen Array reproduziert. Die Komprimierung ist besser als über die #resource-Direktive, da unveränderliche Farben nicht von Frame zu Frame geschrieben werden.


 
Yury Kulikov:

Vor allem für Peter :) war nicht faul!


Yuri, du bist eine Klasse für sich. Beteiligen Sie sich an der Entwicklung einer Lösung für Standard-Gifs auf MKL.
 
Реter Konow:

Sie müssen die Menschen mit Ihren eigenen Maßstäben messen.

Es gibt ein Gif in den Ressourcen des Skripts, das ich aus Nikolais Beitrag kopiert habe.

Versuchen Sie es vielleicht mit einem anderen Skript, bei dem die Gif-Datei in den Skriptparametern angegeben ist; die Datei sollte sich im Ordner Files befinden.

Dateien:
 
Ilyas:

GIF- und PNG-Leser waren bereits hier https://www.mql5.com/ru/forum/92113#comment_2672596

Juhu, danke!
Gesparte Zeit ist verdiente Zeit.