Leinwand ist cool! - Seite 37

 
Реter Konow:

Sie sind nur weit entfernt von den kreativen Themen im Zusammenhang mit MQL. Für Sie sind kleine optimierte Expert Advisors die Grenze der Nische, der Kreativität und des Geschäfts in MQL. Und dieses Thema erweist sich als unnötig.

Ich werde mich nicht dagegen wehren, denn ich habe erkannt, wie oberflächlich das Publikum auf dem Markt ist. Aber die "kreative Ladung" hat mich zu meinen Errungenschaften geführt, unabhängig davon, ob sie sie brauchen oder nicht. Jetzt ist diese Frist abgelaufen. Ich mache keine Grafiken mehr.

Ich kann dir nicht zustimmen, Peter. Igor ist ein Qualitätsprogrammierer, von dem man viel lernen kann.
Und die Verwendung des Standardformats Gif ist natürlich sinnvoller, als zu versuchen, ein eigenes Format und einen eigenen Kompressionsalgorithmus zu implementieren.
Es ist viel bequemer - Gif wird auf bequeme Weise erstellt und bearbeitet und die Animation in Ihr Programm eingefügt.
Und übrigens, die Patente auf Gif sind 2004 ausgelaufen, Sie können es also ohne Probleme verwenden.
Der Grund dafür ist, dass die vorhandenen Screenrecorder (z. B. Camtasia Studio) dies besser können.

Aber eine Bibel zum Einbetten von animierten Gifs im MT5-Fenster zu schreiben, wäre schön. Außerdem ist es keine sehr schwierige Aufgabe. Wenn du dir die Struktur des Formats kurz ansiehst, kannst du es in 1-2 Tagen lösen.

Ach, Petrus, wenn du deinen Stolz und dein Lob durch Bescheidenheit ersetzen könntest, wärst du es nicht wert.

 
Nikolai Semko:

Ich kann dir nicht zustimmen, Peter. Igor ist ein Qualitätsprogrammierer, von dem man viel lernen kann.
Und die Verwendung des Standard-Gif-Formats ist natürlich sinnvoller als der Versuch, ein eigenes Format und einen eigenen Kompressionsalgorithmus zu implementieren.
Dies ist viel bequemer - erstellt und bearbeitet gif bequeme Weise und eingefügt Animation in Ihr Programm.
Übrigens sind die Patente auf Gif im Jahr 2004 ausgelaufen, so dass Sie es ohne Probleme verwenden können.
Der Grund dafür ist, dass die vorhandenen Screenrecorder (z. B. Camtasia Studio) dies besser können.

Aber eine Bibel zum Einbetten von animierten Gifs im MT5-Fenster zu schreiben, wäre schön. Außerdem ist es keine sehr schwierige Aufgabe. Wenn man sich die Struktur des Formats ansieht, kann man es in 1-2 Tagen schaffen.

Ach, Petrus, wenn du deinen Stolz und dein Lob durch Bescheidenheit ersetzen könntest, wärst du es nicht wert.

1. Wie gut Igor programmieren kann, weiß ich nicht. Ich habe ihn auch nicht kritisiert. Aber wenn er gut ist, dann soll er es bleiben.

2. Wenn Sie das Standardformat verwenden können, gut gemacht, ich würde es nicht tun. Ich glaube, es ist schwieriger, als eine eigene, vereinfachte Version zu schreiben. Ich sage es noch einmal: Sie sparen Geld bei Gifs, bei denen Sie keine Frames bearbeiten müssen. Das heißt, Sie nehmen das Filmmaterial auf und übertragen es sofort in das MQL-Programm. Wenn Sie jedoch eine Anweisung erstellen und Bilder Bild für Bild verarbeiten müssen, wird Ihnen das Standard-Gif nicht weiterhelfen. Ich meine, die Bearbeitung des Gifs sollte mit dem Editor erfolgen, und Sie werden jedes Einzelbild einzeln in den Editor laden und die Videosequenz auf diese Weise erstellen? Und der Wiedergabemechanismus wird noch komplizierter sein. Es ist viel komplizierter. Aber überprüfen wir es.

3. Wir können nicht sicher sein, dass es unsinnig ist, eigene Bildschirmschreiber in Expert Advisors zu entwickeln.

ZS: Bescheidenheit ist nicht meine Stärke))).

 

Nikolai, nun, das Experiment, das Standard-.gif-Format zu öffnen und es in das mql-Programm zu integrieren, ist feierlich gestartet! Ich wünsche Ihnen viel Glück.

Zy. Wenn Sie Erfolg haben, ist das ein großer Erfolg, wenn nicht, ist das so gut wie schade)). Versuchen ist keine Folter.

Am Ende können Sie den Arbeitsaufwand für eine einfache Videoanweisung mit 10 Bildern in einer Schleife mit der Komplexität des Lese- und Wiedergabemechanismus vergleichen.

 
Andrey Dik:

https://www.mql5.com/ru/blogs/post/728564

auf dieser Blogseite, wie haben Sie die Illustration (das Bild) gemacht? Wie haben Sie es geschafft, das Bild auf die Webseite zu stellen? das ist unbegreiflich - WIE?!!!


Hör auf zu flunkern. Sie sagten, es täte Ihnen leid.
 
Andrey Dik:

Nein, es geht ums Prinzip ..... Ich hoffe, dass wir Ihnen mit Gottes Hilfe und meinen Kollegen helfen können, wieder auf den richtigen Weg zu kommen, Sie sind ein guter Kerl.

Lassen Sie uns die Grundsätze unter vier Augen besprechen, wenn Sie möchten. Wir werden die Dinge hier in Ordnung halten.
 
Nikolai, dieses Standard-Gif sollte in eine lesbare Datei und von dieser in ein Array übertragen werden. Möglicherweise gibt es dort einige Betriebssystem-Bindungen. Sie müssen die Gif-Datei entpacken und trennen, wo sich die Bilddaten, die Palettenindexierung, die Wiedergabedaten und die Betriebssystemdaten oder andere Standarddaten befinden. Kurz gesagt, eine solche Datei enthält eine Menge "Müll", den Sie entschlüsseln und das nehmen müssen, was Sie brauchen. Ich weiß nicht, wie Sie das schaffen wollen.
 
Andrey Dik:

Bitte beantworten Sie die Frage, wie Sie das Bild in Ihren Blog gestellt haben. Eine einfache Frage, beantworten Sie sie und fertig.

Normalerweise stellt man sie einfach auf. Andrei, du erklärst einfach, was dir nicht passt. Nur keine Fehler machen.

Wenn Sie sich durch meine Meinung über Bildschirmschreiber im EA verletzt fühlen, liegt das nur daran, dass Sie (noch) nicht sehr gut mit Kanvas umgehen können. Ich weiß auch nichts über genetische Algorithmen und gebe keine Erklärung ab. Und wenn ich das tue, gebe ich schnell Fehler zu. Man kann nicht einfach Kanvas von MT nehmen und es in ein Windows-Videoformat übersetzen. Es ist DUCKY. Sehr kompliziert. Und sinnlos. Nichts für ungut.

 
Andrey Dik:

Peter, Sie haben den Screenshot nicht einfach "aufgenommen und platziert", sondern mit der Schaltfläche PrintScrin in die Zwischenablage kopiert, aus der Zwischenablage in Paint eingefügt, den überschüssigen Teil abgeschnitten, in einer Grafikdatei gespeichert und dann in Ihren Blog eingefügt.

Das heißt, Sie verwenden aktiv die Mittel Windows und allgemein anerkannte Standards der grafischen Daten, ohne die Sie nicht in der Lage wären, dem Benutzer Informationen über ihre Aktionen zu vermitteln.

Wenn Sie also all dies auf Canvas tun, können Sie einfach ein Bild (oder sogar ein Video!) in Ihrem Programm speichern, ohne irgendwelche Programme von Drittanbietern zu verwenden.

Es ist nicht schwierig und überhaupt nicht beschämend für mich, eine Frage über etwas zu stellen, in dem ich nicht sehr gut bin, meine Fehler zuzugeben und zu versuchen, mich zu verbessern. Und wie sich herausstellt, ist es gar nicht so schwierig, eine Leinwand als Videodatei zu speichern.

1. Ein Bild im .bmp-Format - kein Problem. Aber das Speichern von Videos aus Bildern in .avi (oder anderen Formaten) ist sehr schwierig. Ich werde es nicht tun, denn es ist die Mühe nicht wert. Videos können mit jedem beliebigen Rekorder aufgezeichnet werden, während MMS-Tools dafür nicht ausgelegt sind. Sie können DLL verwenden, aber wozu? Wir nehmen ein Aufnahmegerät und zeichnen auf, was wir brauchen. Die Entwicklung eines solchen Mechanismus in MQL ist eine sehr zeitaufwendige Aufgabe. Und wenn ich das sage, dann glauben Sie mir).

2. Der Sinn eines Gifs in mql sind kurze Videoanleitungen oder Demonstrationen. Nikolay denkt, wie die meisten Leute, dass man eine Standard-Gif-Datei nehmen kann, einen Algorithmus zum Lesen und Abspielen in MQL schreiben kann und das war's. Das glaube ich nicht. Es gibt eine Reihe von Fallstricken. Entschlüsseln der Datei, Extrahieren der Daten, Laden in ein Array, Schreiben eines Lese-/Wiedergabemechanismus. Es ist SEHR kompliziert. Es ist einfacher, eine eigene vereinfachte Version zu erstellen, da die Anleitung nur 10 bis 20 Rahmen enthält. Ihre Bearbeitung dauert eine Stunde. Aber sie sind besser komprimiert, weil die Anleitungen einheitliche Farben enthalten. Und Videos enthalten fast keine sich wiederholenden Farbsequenzen. Und alle Rahmen sind unterschiedlich. Daher wird die Indizierung von Farbpaletten verwendet. Um die Datenmenge irgendwie zu komprimieren.

 
Реter Konow:

1. Ein Bild im .bmp-Format - kein Problem. Aber das Speichern von Videos aus Bildern in .avi (oder anderen Formaten) ist sehr schwierig. Ich werde es nicht tun, denn es ist die Mühe nicht wert. Videos können mit jedem beliebigen Rekorder aufgezeichnet werden, während MMS-Tools dafür nicht ausgelegt sind. Sie können DLL verwenden, aber wozu? Wir nehmen ein Aufnahmegerät und zeichnen auf, was wir brauchen. Die Entwicklung eines solchen Mechanismus in MQL ist eine sehr zeitaufwendige Aufgabe. Und wenn ich das sage, dann glauben Sie mir).

2. Der Sinn eines Gifs in mql sind kurze Videoanleitungen oder Demonstrationen. Nikolay denkt, wie die meisten Leute, dass man eine Standard-Gif-Datei nehmen kann, einen Algorithmus zum Lesen und Abspielen in MQL schreiben kann und das war's. Das glaube ich nicht. Es gibt eine Reihe von Fallstricken. Entschlüsseln der Datei, Extrahieren der Daten, Laden in ein Array, Schreiben eines Lese-/Wiedergabemechanismus. Es ist SEHR kompliziert. Es ist einfacher, eine eigene vereinfachte Version zu erstellen, da die Anleitung nur 10 bis 20 Rahmen enthält. Ihre Bearbeitung dauert eine Stunde.Aber sie sind besser komprimiert, weil die Anleitungen einheitliche Farben enthalten. Und Videos enthalten fast keine sich wiederholenden Farbsequenzen. Und alle Rahmen sind unterschiedlich. Daher wird die Indizierung von Farbpaletten verwendet. Um die Datenmenge irgendwie zu komprimieren.

Es ist fast so, aber genau das Gegenteil.
Und es gibt keinen Grund, ein Fahrrad neu zu erfinden, von dem man nicht einmal weiß, wie man es fährt.
10-20 Bilder pro Stunde. Machst du Witze? Wer braucht schon diese Art von Glück?
In Camtasia dauert es nur wenige Minuten, einen kleinen Screenshot zu machen, ihn zu bearbeiten, Text- und Grafik-Tags einzufügen und ihn in eine animierte Gif-Datei umzuwandeln.

Und die Implementierung einer Gif-Datei in ein Programm als Ressource ist ein Kinderspiel:

#resource  "\\Files\\Dialog.gif" as uchar G[]
struct Gifka
  {
   uchar             format[6];
   short             widht;;
   short             height;
   uchar             mask1;
   uchar             BG;
   uchar             R;
   // и т.д.
  };
Gifka g;
void OnStart()
  {
   CharArrayToStruct(g,G);
   Print("Gif size - "+ string(ArraySize(G))+" bytes");
   Print("Format Gif - "+CharArrayToString(g.format));
   Print("Gif's Widht = "+ string(g.widht));
   Print("Gif's Height = "+ string(g.height));   
  }

Lesen Sie hier über das Format:
http://home.onego.ru/~chiezo/gif.htm

Dateien:
Dialog.gif  681 kb
GifTest.mq5  3 kb
 
Nikolai Semko:

Es ist fast so, aber genau das Gegenteil.
Und es gibt keinen Grund, ein Fahrrad neu zu erfinden, von dem niemand weiß, wie es zu fahren ist.
10-20 Bilder pro Stunde. Machst du Witze? Wer braucht schon diese Art von Glück?
In Camtasia dauert es nur wenige Minuten, einen kleinen Screenshot zu machen, ihn zu bearbeiten, Text- und Grafik-Tags einzufügen und ihn in eine animierte Gif-Datei umzuwandeln.

Und eine Gif-Datei als Ressource in ein Programm zu implementieren ist kinderleicht:

Lesen Sie hier über das Format:
http://home.onego.ru/~chiezo/gif.htm

Nikolay, es gibt verschiedene Arten von Gifs. Einige haben Zeilensprungkompression, andere nicht, einige haben Farbpalettenindexierung, andere nicht. Camtasia verfügt über recht umfangreiche Einstellungen für Gifs.

Ich habe Ihren Link zur Formatbeschreibung gelesen. Deshalb würde ich den Fall nicht übernehmen. Hier gibt es viele Nuancen, und es ist Aufgabe des Algorithmus, diese herauszufiltern. Stellen Sie sich einen Algorithmus vor, der die Daten dieses Formats analysiert und festlegt, wie sie zu reproduzieren sind. Lesen Sie die Beschreibung des Formats unter diesem Gesichtspunkt. Ich bin sicher, dass es in C++ fertige Algorithmen dafür gibt, aber sie in MQL zu integrieren ist genauso schwierig.

Die Fragen bleiben also dieselben:

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

1. Wie dekodieren Sie die Ausgabedatei?

2. Wie lässt sich der Darm mit Ihren Canva-Lösungen verbinden?

3. eine gif-Datei zu integrieren bedeutet nicht, einen Mechanismus zu schreiben, um sie abzuspielen (was unmöglich ist, ohne die Datei zu entschlüsseln).

4. In einem normalen Editor können Sie die Hintergrundfarben und -details kontrollieren und sie "monolithisch" machen, was die Komprimierung dramatisch verbessert, während es in Camtasia anscheinend keine solche Funktion gibt...

5. In Camtasia verbringen Sie ungefähr genauso viel Zeit mit der Bearbeitung von Filmmaterial und die Qualität Ihrer Bearbeitungen wird schlechter sein - Camtasia ist für andere Arbeiten gedacht.

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

Im besten Fall erhalten Sie schlecht komprimierte Gifs mit schlechter Bildqualität bei fast gleichem Aufwand. Natürlich nur, wenn es sich nicht um abstrakte Gifs handelt, sondern um konkrete Anweisungen mit 10 bis 20 Bildern.

ABER - das ist nur meine Meinung.

Ich warte auf Ihre Umsetzung.