El lienzo es genial. - página 31

 
Nikolai Semko:

Gracias, Andrey :)

Voy a explicar, Andrew, mi razonamiento lógico a tu pregunta "¿es posible guardar en vídeo?".
Antes de responder a cualquier pregunta, intento comprender, con los medios disponibles, quién hace la pregunta y su nivel. Para, en primer lugar, construir mi respuesta de forma más correcta y comprensible, y, en segundo lugar, para entender el significado de una pregunta muy poco clara, para no responder a una pregunta con otra pregunta.
Claramente - fui a su perfil.
  • Si hubiera visto una calificación de digamos 162 allí y hubiera estado en el foro durante 2-5 meses, habría entendido que la pregunta la hace un novato.
Y habría respondido simplemente: "Por el momento, el ahorro de vídeo no está implementado en MT5, pero se puede hacer si se quiere".
  • Pero recuerdo que tu nombre aparecía con frecuencia en el foro y por tu perfil, me di cuenta de que estoy tratando con un programador experimentado, que lleva más de 10 años en el foro, que es 5 veces mayor que yo en número de mensajes y que tiene al menos un artículo, 5 trabajos terminados y tres códigos QB en su arsenal, y su valoración es superior a la mía en más de 2 veces.
Así que usted, pensé, está muy bien versado en las características de MT5 y conoce la documentación tan bien como yo y concluyo que su pregunta es sobre la potencial capacidad de guardar el vídeo y está interesado en mi opinión, ya que más o menos conozco mi camino alrededor de Canvas.
Por eso empecé a responderte en el formato de capacidad potencial.
  • O tal vez sólo seas otro listillo y alguien a quien le gusta burlarse de los demás como "Tus escobas pueden volar".

Sin embargo, no me importan los banqueros, por regla general son personas que se creen muy inteligentes, pero en realidad son muy listos y torpes. Normalmente sólo necesitan algún truco de aikido psicológico y entonces se derrumban con un gran pánico.


ZS Y en cuanto a la luna, tu respuesta NO me hizo sonreír. Sepa esto, es su respuesta correcta. Mi respuesta "errónea" a una pregunta de este tipo será, de nuevo, diferente dependiendo de quién me haga la pregunta.



Se puede filosofar mucho y durante mucho tiempo, pero el sentido de la pregunta estaba en la superficie y era inmediato, claro e inequívoco. Y en respuesta a esa pregunta para decir algo sobre el vídeo de la pantalla... es algo))) si te gusta tanto pensar en los niveles. ¿Qué tiene que ver la documentación de MT5?

 
Dmitry Fedoseev:

Y ya sabes, aquí hace cien años, el Zorro demostró la reproducción de un gif animado a través de un lienzo. No una oscura secuencia de vídeo en bucle, sino un simple gif animado.

No lo sabía. Tienes que averiguar el formato del gif y diseccionarlo y formar los cuadros. No creo que sea muy difícil. Pero también puedes grabar fácilmente curvas estándar, si entiendes el formato.
 
Nikolai Semko:
No lo hice. Tienes que averiguar el formato del gif y diseccionarlo y formar los cuadros. No creo que sea muy difícil. Pero también puedes grabar fácilmente curvas estándar, si entiendes el formato.

Es tan fácil como un avi si está sin comprimir. Ninguna de las dos cosas es difícil, sólo hay que saber cómo, pero hasta ahora nadie lo sabe. Creo que hay más posibilidades de averiguarlo con un gif.

Es mejor prestar atención aestos consejos. Porque incluso si puedes averiguar cómo crear un vídeo sin comprimir, no llegarás muy lejos, el tamaño de los archivos será demasiado grande.

 
Nikolai Semko:
¿Qué te hace pensar eso?

A juzgar por la respuesta.

 
Cuando pienso en vídeo, pienso en el algoritmo para comprimirlo, es decir, en los códecs, de lo contrario es un juego de niños
 

Hay otra opción, y probablemente sea la más interesante y útil. Ganar API: AVIFileOpen(), AVIFileCreateStream(), etc.

 
Nikolai Semko:

Primeros experimentos con el marco temporal dinámico.

EURUSD toda la historia en la dinámica:

.

La fractura es evidente.

normas

debajo de la tablilla para seleccionar la ventana y la escala


 
Nikolai Semko:

Gracias, Andrew :)

Voy a explicar, Andrew, mi razonamiento lógico a tu pregunta "¿es posible guardar en vídeo?".
Antes de responder a cualquier pregunta, trato de entender por los medios disponibles, quién hace la pregunta y su nivel. Para, en primer lugar, construir mi respuesta de forma más correcta y comprensible, y, en segundo lugar, para entender el significado de una pregunta muy vaga, para no responder a una pregunta con una pregunta.
Claramente - fui a su perfil.
  • Si hubiera visto una valoración de digamos 162 ahí y llevara entre 2 y 5 meses en el foro, habría entendido que la pregunta la hace un novato.
Y habría respondido simplemente: "Por el momento, el ahorro de vídeo no está implementado en MT5, pero se puede hacer si se quiere".
  • Pero recuerdo que tu nombre aparecía con frecuencia en el foro y por tu perfil, me di cuenta de que estoy tratando con un programador experimentado, que lleva más de 10 años en el foro, que es 5 veces mayor que yo en número de mensajes y que tiene al menos un artículo, 5 trabajos terminados y tres códigos QB en su arsenal, y su valoración es superior a la mía en más de 2 veces.
Así que usted, pensé, está muy bien versado en las características de MT5 y conoce la documentación tan bien como yo y concluyo que su pregunta es sobre la potencial capacidad de guardar el vídeo y está interesado en mi opinión, ya que más o menos conozco mi camino alrededor de Canvas.
Por eso empecé a responderte en el formato de capacidad potencial.
  • O simplemente eres otro listo y alguien a quien le gusta burlarse de los demás como "tus escobas pueden volar".

Pero los baneadores no me molestan mucho, porque por regla general son personas que se consideran muy inteligentes, pero en realidad son muy poco inteligentes y torpes, contra los que, por regla general, basta un ligero truco de aikido psicológico y se derrumban en la risa general.


ZS Y en cuanto a la luna, tu respuesta NO me hizo sonreír. Sepa esto, es su respuesta correcta. Mi respuesta "errónea" a una pregunta de este tipo será, de nuevo, diferente dependiendo de quién me haga la pregunta.



 
Nikolai Semko:

...
¿Cómo se montan los marcos?
No entiendo cómo se captura el código de ME.
Si es sólo a través de capturas de pantalla, bien hecho de todos modos, ya que puedo ver que están llenos.
Su trabajo merece atención.

ZS El hilo aunque lo creé yo y de alguna manera históricamente es más un hilo de correr como kanvas es algo de un hobby y una salida para mí.
Pero no siento que yo sea el jefe aquí o que sea una especie de territorio privado. Las puertas están abiertas. Todo el mundo es bienvenido. Todos son bienvenidos. E incluso los trolls, porque a veces te dan un empujón. :)

Gracias, Nicholas.

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

La formación:

1. Reúno fotogramas en un sencillo editor "FastStone", haciendo capturas de pantalla de la zona deseada, o grabo un clip con Camtasia, y transfiero los fotogramas a FastStone.

2. Procesé los cuadros (añadí sombras, flechas, textos) y los guardé en formato .bmp en la carpeta Images\MyGif (cada gif tiene su propia subcarpeta).

3. Los nombres de los cuadros deben ser "1.bmp", "2.bmp", "3.bmp", ... Es necesario para el script, que crea el Gif.

4. Abra el script en ME e integre todos los cuadros a través de #resource.

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

Principio del guión:

1. El script recorre los cuadros y los lee a través del ReasourceReadImage.

2. La secuencia de comandos carga dos fotogramas a la vez - el nuevo y el anterior: 1 y 2, luego 2 y 3, luego 3 y 4.... Y compara los colores de los píxeles en el nuevo fotograma y en el anterior. Si el color ha cambiado, el script escribe el número de píxel y su nuevo color en una matriz. Así, sólo se escriben los píxeles y los colores que han cambiado desde el fotograma anterior. Si el color de un píxel no cambia después del primer fotograma, el píxel con ese color se escribirá una vez. Este es el primer mecanismo de compresión.

3. El segundo mecanismo de compresión: las filas de píxeles con el mismo color se acortan. Si la fila de píxeles tiene un color que se repite de píxel a píxel, el script inicia un ciclo de conteo de repeticiones y escribe en el array el número del píxel inicial (desde el que comenzó la secuencia de repeticiones, el color y el número de repeticiones).

De este modo, el script comprime los fotogramas y empaqueta el gif. Al final de los ciclos, el array recogido se escribe en el archivo con el nombre del gif, tras lo cual el constructor lo carga leyendo el código kib. La interfaz puede contener cualquier número de hifas, pero cada hifa se asigna a su propio elemento y su comienzo en la matriz, escrito en las propiedades del elemento en el graph.kernel.

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

Mecanismo de reproducción de las hifas:

1. Cada hifa tiene varias propiedades: origen en una matriz de hifas, número de fotogramas, tamaño del fotograma, pausa entre fotogramas.

2. Un bloque especial recorre los objetos del núcleo y busca la propiedad del hifón. El bloque comprueba:

  • La presencia de las hifas en el elemento.
  • Si el elemento es visible u oculto
  • Si el elemento es visible

Si se superan las comprobaciones, el bloque accede a la matriz de hifas en la dirección de la hifa concreta, mirando:

  • contador de fotogramas
  • contador de pausa

Si se superan estas comprobaciones, la unidad procede a leer las hifas:

1. la unidad carga el lienzo en el que se dibuja el gif.

2. la unidad lee la trama actual y la desempaqueta:

  • Encuentra los píxeles correctos por número y calcula su posición en el kanvas general.
  • Dibuja píxeles del color correcto en el lugar correcto.
  • "Desenvolver" una secuencia de píxeles con el mismo color.

El bloque se mueve no sólo a través de los fotogramas, contando la pausa entre ellos, sino también a través de diferentes hiffs de diferentes elementos en diferentes ventanas, saltando aquellos hiffs que están ocultos detrás del área de visibilidad o en ventanas cerradas.

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

Ese es el tipo de trabajo. Pensaba que era fácil, pero cuando lo conté, me quedé un poco "chafado" por la complejidad :).

ZS. Un gif con un tamaño de imagen de 800*600 se comprime hasta 20 veces o más. Si consiguiera escribir todo en una matriz de caracteres, la compresión aumentaría otras 4 veces. Pero, definitivamente empobrecería la paleta de colores.
 
¿Pero qué tiene que ver el "gif" con esto?