Leinwand ist cool! - Seite 31

 
Nikolai Semko:

Danke, Andrey :)

Ich werde Ihnen, Andrew, meine logischen Überlegungen zu Ihrer Frage "Ist es möglich, auf Video zu speichern?" erläutern.
Bevor ich eine Frage beantworte, versuche ich mit den mir zur Verfügung stehenden Mitteln zu verstehen, wer die Frage stellt und auf welchem Niveau. Erstens, um meine Antwort korrekter und verständlicher zu gestalten, und zweitens, um die Bedeutung einer sehr vagen Frage zu verstehen, damit ich nicht eine Frage mit einer Frage beantworte.
Offensichtlich - ich habe Ihr Profil besucht.
  • Wenn ich dort eine Bewertung von sagen wir 162 gesehen hätte und seit 2-5 Monaten im Forum gewesen wäre, hätte ich verstanden, dass die Frage von einem Neuling gestellt wird.
Und ich hätte einfach geantwortet: "Im Moment ist das Speichern von Videos im MT5 nicht implementiert, aber es kann gemacht werden, wenn Sie wollen".
  • Aber ich erinnere mich, dass Ihr Name häufig im Forum auftauchte, und anhand Ihres Profils erkannte ich, dass ich es mit einem erfahrenen Programmierer zu tun habe, der seit mehr als 10 Jahren im Forum ist, der fünfmal mehr Beiträge als ich verfasst hat und mindestens einen Artikel, fünf abgeschlossene Aufträge und drei QB-Codes in seinem Arsenal hat, und seine Bewertung ist um mehr als das Doppelte höher als meine.
Sie, so dachte ich, kennen sich sehr gut mit den MT5-Funktionen aus und kennen die Dokumentation so gut wie ich, und ich schließe daraus, dass sich Ihre Frage auf die mögliche Möglichkeit bezieht, Videos zu speichern, und dass Sie an meiner Meinung interessiert sind, da ich mich mit Canvas einigermaßen auskenne.
Deshalb habe ich begonnen, Ihnen in der Form der potenziellen Fähigkeit zu antworten.
  • Oder vielleicht bist du auch nur ein Klugscheißer und jemand, der sich gerne über andere lustig macht, wie z. B. "Deine Besen können fliegen".

Ich kümmere mich nicht wirklich um die Spötter, das sind in der Regel Leute, die sich für sehr schlau halten, aber in Wirklichkeit sehr unintelligent und ungeschickt sind. Normalerweise brauchen sie nur einen psychologischen Aikido-Trick, und dann brechen sie in einem großen Tumult zusammen.


ZS Und was den Mond angeht, so hat mich Ihre Antwort NEIN zum Lächeln gebracht. Wisse dies, es ist deine richtige Antwort. Meine "falsche" Antwort auf eine solche Frage wird wiederum unterschiedlich ausfallen, je nachdem, wer mir die Frage stellt.



Man kann viel und sehr lange philosophieren, aber die Bedeutung der Frage lag auf der Oberfläche und war sofort, klar und eindeutig. Und als Antwort auf die Frage nach der Videoaufzeichnung auf dem Bildschirm... ist etwas))), wenn Sie so gerne über das Niveau spekulieren. Was hat die MT5-Dokumentation damit zu tun?

 
Dmitry Fedoseev:

Und wissen Sie, hier hat Zorro vor hundert Jahren die Wiedergabe eines animierten Gifs über eine Leinwand demonstriert. Nicht irgendeine obskure Videosequenz in Schleife, sondern ein einfaches animiertes Gif.

Das habe ich nicht gewusst. Sie müssen das Format der gif-Datei herausfinden, sie zerlegen und die Rahmen bilden. Ich glaube nicht, dass das sehr schwierig ist. Sie können aber auch problemlos Standardkurven aufnehmen, wenn Sie das Format verstehen.
 
Nikolai Semko:
Das habe ich nicht. Sie müssen das Gif-Format herausfinden, es zerlegen und die Rahmen bilden. Ich glaube nicht, dass das sehr schwierig ist. Sie können aber auch problemlos Standardkurven aufnehmen, wenn Sie das Format verstehen.

Es ist so einfach wie avi, wenn es unkomprimiert ist. Beides ist nicht schwierig, man muss nur wissen wie, aber das weiß bisher niemand. Ich denke, mit einem Gif hat man bessere Chancen, es herauszufinden.

Es ist besser,diesen Ratschlag zu beherzigen. Denn selbst wenn Sie herausfinden, wie Sie ein unkomprimiertes Video erstellen können, werden Sie nicht weit kommen, da die Dateigrößen zu groß sein werden.

 
Nikolai Semko:
Wie kommst du darauf?

Nach der Antwort zu urteilen.

 
Wenn ich an Video denke, denke ich an den Algorithmus zur Komprimierung, d.h. an Codecs, sonst ist es ein Kinderspiel
 

Es gibt noch eine weitere Möglichkeit, die wahrscheinlich die interessanteste und nützlichste ist. Win API: AVIFileOpen(), AVIFileCreateStream(), usw.

 
Nikolai Semko:

Erste Versuche mit dem dynamischen Zeitrahmen.

EURUSD alle Geschichte in Dynamik:

.

Fraktalität ist offensichtlich.

Normen

unter der Lamelle, um das Fenster und den Maßstab auszuwählen


 
Nikolai Semko:

Danke, Andrew :)

Ich werde Ihnen, Andrew, meine logischen Überlegungen zu Ihrer Frage "Ist es möglich, auf Video zu speichern?" erläutern.
Bevor ich eine Frage beantworte, versuche ich mit den mir zur Verfügung stehenden Mitteln zu verstehen, wer die Frage stellt und auf welchem Niveau. Erstens, um meine Antwort korrekter und verständlicher zu gestalten, und zweitens, um die Bedeutung einer sehr unklaren Frage zu verstehen, damit ich nicht eine Frage mit einer Frage beantworte.
Offensichtlich - ich habe Ihr Profil besucht.
  • Wenn ich dort eine Bewertung von sagen wir 162 gesehen hätte und seit 2-5 Monaten im Forum gewesen wäre, hätte ich verstanden, dass die Frage von einem Neuling gestellt wird.
Und ich hätte einfach geantwortet: "Im Moment ist das Speichern von Videos im MT5 nicht implementiert, aber es kann gemacht werden, wenn Sie wollen".
  • Aber ich erinnere mich, dass Ihr Name häufig im Forum auftauchte, und anhand Ihres Profils erkannte ich, dass ich es mit einem erfahrenen Programmierer zu tun habe, der seit mehr als 10 Jahren im Forum ist, der fünfmal mehr Beiträge als ich verfasst hat und mindestens einen Artikel, fünf abgeschlossene Aufträge und drei QB-Codes in seinem Arsenal hat, und seine Bewertung ist um mehr als das Doppelte höher als meine.
Sie, so dachte ich, kennen sich sehr gut mit den MT5-Funktionen aus und kennen die Dokumentation so gut wie ich, und ich schließe daraus, dass sich Ihre Frage auf die mögliche Möglichkeit bezieht, Videos zu speichern, und dass Sie an meiner Meinung interessiert sind, da ich mich mit Canvas einigermaßen auskenne.
Deshalb habe ich begonnen, Ihnen in der Form der potenziellen Fähigkeit zu antworten.
  • Oder Sie sind einfach nur ein weiterer kluger Kopf und jemand, der sich gerne über andere lustig macht, wie z. B. "Ihre Besen können fliegen".

Aber die Spötter stören mich nicht sonderlich, denn in der Regel sind das Leute, die sich für sehr klug halten, aber in Wirklichkeit sehr unintelligent und ungeschickt sind, gegen die in der Regel ein kleiner psychologischer Aikido-Trick ausreicht und sie in allgemeinem Gelächter zusammenbrechen.


ZS Und was den Mond angeht, so hat mich Ihre Antwort NEIN zum Lächeln gebracht. Wisse dies, es ist deine richtige Antwort. Meine "falsche" Antwort auf eine solche Frage wird wiederum unterschiedlich ausfallen, je nachdem, wer mir die Frage stellt.



 
Nikolai Semko:

...
Wie setzen Sie die Rahmen zusammen?
Ich verstehe nicht, wie Sie den Code von ME erfassen.
Wenn es auch nur durch Screenshots ist, gut gemacht, denn ich kann sehen, dass sie vollgepackt sind.
Ihre Arbeit verdient Aufmerksamkeit.

ZS Der Thread wurde von mir erstellt, und irgendwie ist es historisch gesehen eher ein laufender Thread, da Kanvas so etwas wie ein Hobby und ein Ventil für mich ist.
Aber ich habe nicht das Gefühl, dass ich hier der Chef bin oder dass es sich um eine Art Privatgelände handelt. Die Türen sind offen. Jeder ist willkommen. Alle sind willkommen. Und sogar Trolle, denn die treiben einen manchmal an. :)

Vielen Dank, Nicholas.

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

Ausbildung:

1. Ich sammle Frames in einem einfachen Editor "FastStone", mache Screenshots von dem gewünschten Bereich oder drehe einen Clip mit Camtasia und übertrage die Frames in FastStone.

2. Ich bearbeite die Bilder (füge Schatten, Pfeile, Texte hinzu) und speichere sie im .bmp-Format im Ordner Images\MyGif (jedes gif hat seinen eigenen Unterordner).

3. die Namen der Frames sollten "1.bmp", "2.bmp", "3.bmp", ... sein.

4. öffnen Sie das Skript in ME und integrieren Sie alle Frames über #resource.

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

Prinzip des Drehbuchs:

1. Das Skript durchläuft die Bilder in einer Schleife und liest sie mit der ReasourceReadImage.

2. Das Skript lädt zwei Bilder auf einmal - das neue und das vorherige: 1 und 2, dann 2 und 3, dann 3 und 4.... Und es vergleicht die Pixelfarben im neuen Bild mit denen des vorherigen Bildes. Wenn sich die Farbe geändert hat, schreibt das Skript die Pixelnummer und die neue Farbe in ein Array. Es werden also nur die Pixel und Farben geschrieben, die sich seit dem vorherigen Bild geändert haben. Wenn sich die Farbe eines Pixels nach dem ersten Bild nicht mehr ändert, wird das Pixel mit dieser Farbe einmal geschrieben. Dies ist der erste Kompressionsmechanismus.

3. Der zweite Komprimierungsmechanismus: Reihen von Pixeln mit der gleichen Farbe werden gekürzt. Wenn die Pixelreihe eine Farbe hat, die sich von Pixel zu Pixel wiederholt, startet das Skript einen Zyklus zum Zählen der Wiederholungen und schreibt die Nummer des Startpixels (von dem aus die Folge der Wiederholungen begann, die Farbe und die Anzahl der Wiederholungen) in das Array.

Auf diese Weise komprimiert das Skript die Bilder und packt das Gif. Am Ende der Zyklen wird das gesammelte Array in die Datei mit dem Namen des gif geschrieben, woraufhin der Konstruktor es durch Lesen des kib-Codes lädt. Die Schnittstelle kann eine beliebige Anzahl von Hyphen enthalten, aber jede Hyphe ist ihrem eigenen Element und ihrem Anfang im Array zugeordnet, der in den Element-Eigenschaften im graph.kernel angegeben ist.

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

Mechanismus der Vermehrung der Hyphen:

1. Jede Hyphe hat mehrere Eigenschaften: Ursprung in einer Reihe von Hyphen, Anzahl der Bilder, Bildgröße, Pause zwischen den Bildern.

2. Ein spezieller Block durchläuft die Kernel-Objekte und sucht nach der Eigenschaft des gif. Der Block prüft:

  • Das Vorhandensein der Hyphen im Element.
  • ob das Element sichtbar oder verborgen ist
  • ob das Element sichtbar ist

Wenn die Prüfungen bestanden werden, greift der Block auf das Array der Hyphen an der Adresse der jeweiligen Hyphe zu und betrachtet sie:

  • Bildzähler
  • Pausenzähler

Wenn diese Prüfungen bestanden sind, fährt das Gerät mit dem Lesen der Hyphen fort:

1. Das Gerät lädt die Leinwand, auf der das Gif gezeichnet wird.

2. Das Gerät liest den aktuellen Rahmen und packt ihn aus:

  • Findet die richtigen Pixel anhand ihrer Nummer und berechnet ihre Position im Gesamtbildschirm.
  • Zeichnet Pixel in der richtigen Farbe an der richtigen Stelle.
  • "Entpacken" einer Folge von Pixeln mit der gleichen Farbe.

Der Block bewegt sich nicht nur durch Frames, wobei die Pausen zwischen ihnen gezählt werden, sondern auch durch verschiedene Hiffs verschiedener Elemente in verschiedenen Fenstern, wobei diejenigen Hiffs übersprungen werden, die hinter dem Sichtbarkeitsbereich oder in geschlossenen Fenstern verborgen sind.

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

Das ist die Art von Arbeit. Ich dachte, es sei einfach, aber als ich es erzählte, war ich von der Komplexität ein wenig "schockiert" :).

ZS. Ein gif mit einer Bildgröße von 800*600 wird bis zu 20 Mal oder mehr komprimiert. Wenn es mir gelänge, alles in ein Char-Array zu schreiben, würde die Komprimierung um das Vierfache zunehmen. Aber es würde die Farbpalette definitiv verarmen lassen.
 
Aber was hat das "gif" damit zu tun?
Grund der Beschwerde: