Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Warum sollten Sie das tun, Sie haben doch geschrieben, dass Sie überhaupt keinen Zeitplan brauchen).
Ich danke Ihnen. Es handelt sich doch nicht um einen mit dem #resource-Befehl komprimierten .bmp-Frame, oder? ))) Definitiv nicht. Es ist ein natürlicher Adapter zum Abspielen einer Gif-Datei auf MQL-Canvas, basierend auf einem portierten .gif-Reader, der in ein paar Stunden geschrieben wurde. Ich muss von außen wie ein Idiot aussehen)))
Yuri, danke für die Demo, aber so etwas kann jeder machen. Einfach.
Speichern Sie Bilder im .bmp-Format, nummeriert.
Integrieren Sie Frames über #resource in das Skript.
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 funktioniert besser als über die #resource-Direktive, da unveränderliche Farben nicht von Bild zu Bild aufgezeichnet werden.
Welcher Videoeditor kann keine animierten Gifs öffnen? Photoshop öffnet sie und legt die Rahmen in Ebenen ab. Aber es gibt eine noch einfachere Lösung - Online-Service - laden Sie dort animierte Gifs hoch, in einer Minute erhalten Sie einen gezippten Ordner mit den einzelnen Frames.
Grüße.
Weiß jemand zufällig, warum man keine Linie von 2 Pixeln zeichnen kann? Was für eine Art von Diskriminierung ist das? )
Dick bedeutet "dick" und 2 Pixel sind überhaupt nicht dick.
Grüße.
Vielleicht weiß jemand, warum man eine Linie nicht mit 2 Pixeln zeichnen kann? Was für eine Art von Diskriminierung ist das? )
Ja, und wenn Sie es durch if(size<2) ersetzen, wird es gezeichnet, aber ungenau:
@Nikolai Semko, gibt es ein Problem mit der Glättung?
@Nikolai Semko, gibt es hier ein Problem mit Anti-Aliasing?
Diese Funktionen sind furchtbar schlecht geschrieben. Da gibt es verdammt viel aufzuholen. Kein normales Anti-Aliasing, keine normale Handhabung von Farbmischung und Transparenz. Du solltest sie einfach zerknüllen und in den Müll werfen und neue schreiben.
Ich habe hier schon einmal darüber geschrieben.
Auf jeden Fall sollten Sie die reguläre PixelTransform-Funktion durch diese ersetzen:
https://www.mql5.com/ru/forum/1111/page2553#comment_13054823
Ich habe angefangen, meine doppelte Version zu schreiben (bei der alle int-Eingabeparameter doppelt sind), habe sie aber nicht fertiggestellt und ins Regal gestellt. Trotz ihrer scheinbaren Einfachheit ist dies keine einfache Aufgabe. Nun, es ist kein Problem, es genau zu schreiben, das Problem ist, eine sehr hohe Qualität zu schreiben, damit der Algorithmus schnell ist. Mein Hauptproblem ist der Perfektionismus.