La tela è forte! - pagina 31

 
Nikolai Semko:

Grazie, Andrey :)

Spiegherò, Andrew, il mio ragionamento logico alla tua domanda "è possibile salvare in video?
Prima di rispondere a qualsiasi domanda, cerco di capire con i mezzi disponibili, chi fa la domanda e il suo livello. Al fine, in primo luogo, di costruire la mia risposta in modo più corretto e comprensibile, e, in secondo luogo, di capire il significato di una domanda molto vaga, per non rispondere a una domanda con una domanda.
Chiaramente - sono andato al tuo profilo.
  • Se avessi visto una valutazione di diciamo 162 lì e fossi stato sul forum per 2-5 mesi, avrei capito che la domanda è posta da un principiante.
E avrei risposto semplicemente: "Al momento, il salvataggio dei video non è implementato in MT5, ma può essere fatto se vuoi".
  • Ma mi ricordo che il tuo nome è apparso spesso sul forum e dal tuo profilo, ho capito che ho a che fare con un programmatore esperto, che è sul forum da più di 10 anni, che è 5 volte più grande di me per numero di messaggi e ha almeno un articolo, 5 lavori completati e tre codici QB nel suo arsenale, e il suo rating è superiore al mio di più di 2 volte.
Quindi tu, ho pensato, sei molto ben versato nelle caratteristiche di MT5 e conosci la documentazione così bene come me e concludo che la tua domanda riguarda la potenziale capacità di salvare i video e sei interessato alla mia opinione, dato che in un certo senso so come muovermi su Canvas.
Ecco perché ho iniziato a risponderti nel formato della capacità potenziale.
  • O forse sei solo un altro sapientone e qualcuno a cui piace prendere in giro gli altri come "Le tue scope possono volare".

Non mi importa molto dei bannatori però, di regola sono persone che pensano di essere molto intelligenti, ma in realtà sono molto furbi e maldestri. Di solito gli basta qualche trucco di aikido psicologico e poi crollano in un grande panico.


ZS E per quanto riguarda la luna, la tua risposta NO mi ha fatto sorridere. Sappiate questo, è la vostra risposta corretta. La mia risposta "sbagliata" a tale domanda sarà di nuovo diversa a seconda di chi mi fa la domanda.



Si può filosofeggiare molto e per molto tempo, ma il senso della domanda era in superficie ed è stato subito, chiaramente e senza ambiguità. E in risposta a quella domanda per dire qualcosa sulla registrazione video dallo schermo... è qualcosa))) se ti piace tanto speculare sui livelli. Cosa c'entra la documentazione di MT5?

 
Dmitry Fedoseev:

E sapete, qui, cento anni fa, Zorro ha dimostrato la riproduzione di una gif animata attraverso una tela. Non qualche oscura sequenza video in loop, ma una semplice gif animata.

Non lo sapevo. Dovete capire il formato della gif e sezionarla e formare le cornici. Non credo che sia molto difficile. Ma poi si possono registrare facilmente anche le curve standard, se si capisce il formato.
 
Nikolai Semko:
Non l'ho fatto. Devi capire il formato gif e sezionarlo e formare i fotogrammi. Non credo che sia molto difficile. Ma poi si possono registrare facilmente anche le curve standard, se si capisce il formato.

È facile come l'avi se non è compresso. Nessuno dei due è difficile, bisogna solo sapere come, ma finora nessuno lo sa. Penso che ci sia una migliore possibilità di capirlo con una gif.

È meglio prestare attenzione aquesto consiglio. Perché anche se riesci a capire come creare un video non compresso, non andrai molto lontano, le dimensioni dei file saranno troppo grandi.

 
Nikolai Semko:
Perché lo pensa?

A giudicare dalla risposta.

 
Quando penso al video, penso all'algoritmo per comprimerlo, cioè ai codec, altrimenti è un gioco da ragazzi
 

C'è un'altra opzione, ed è probabilmente la più interessante e utile. Win API: AVIFileOpen(), AVIFileCreateStream(), ecc.

 
Nikolai Semko:

Primi esperimenti con l'orizzonte temporale dinamico.

EURUSD tutta la storia nella dinamica:

.

La frattura è evidente.

norme

sotto la stecca per selezionare la finestra e la scala


 
Nikolai Semko:

Grazie, Andrew :)

Spiegherò, Andrew, il mio ragionamento logico alla tua domanda "è possibile salvare in video?
Prima di rispondere a qualsiasi domanda, cerco di capire, con i mezzi disponibili, chi fa la domanda e il suo livello. Al fine, in primo luogo, di costruire la mia risposta in modo più corretto e comprensibile, e, in secondo luogo, di capire il significato di una domanda molto vaga, per non rispondere a una domanda con una domanda.
Chiaramente - sono andato al tuo profilo.
  • Se avessi visto una valutazione di diciamo 162 lì e fossi stato sul forum per 2-5 mesi, avrei capito che la domanda è posta da un principiante.
E io avrei risposto semplicemente: "Al momento, il salvataggio dei video non è implementato in MT5, ma può essere fatto se vuoi".
  • Ma mi ricordo che il tuo nome è apparso spesso sul forum e dal tuo profilo, ho capito che ho a che fare con un programmatore esperto, che è sul forum da più di 10 anni, che è 5 volte più grande di me per numero di messaggi e ha almeno un articolo, 5 lavori completati e tre codici QB nel suo arsenale, e il suo rating è superiore al mio di più di 2 volte.
Quindi tu, ho pensato, sei molto ben versato nelle caratteristiche di MT5 e conosci la documentazione così bene come me e concludo che la tua domanda riguarda la potenziale capacità di salvare video e sei interessato alla mia opinione, dato che in un certo senso so come muovermi su Canvas.
Ecco perché ho iniziato a risponderti nel formato della capacità potenziale.
  • Oppure sei solo un altro tipo intelligente e qualcuno a cui piace prendere in giro gli altri come "le tue scope possono volare".

Ma i banchieri non mi danno molto fastidio, perché di regola sono persone che si considerano molto intelligenti, ma in realtà sono molto poco intelligenti e maldestre, contro le quali, di regola, basta un piccolo trucco di aikido psicologico e crollano nel riso generale.


ZS E per quanto riguarda la luna, la tua risposta NO mi ha fatto sorridere. Sappiate questo, è la vostra risposta corretta. La mia risposta "sbagliata" a tale domanda sarà ancora una volta diversa a seconda di chi mi fa la domanda.



 
Nikolai Semko:

...
Come si montano i telai?
Non capisco come si fa a catturare il codice da ME.
Se è anche solo attraverso gli screenshot, ben fatto comunque, visto che vedo che sono imballati.
Il tuo lavoro merita attenzione.

ZS Il thread però l'ho creato io e in qualche modo storicamente è più di un thread in esecuzione come kanvas è qualcosa di un hobby e uno sfogo per me.
Ma non mi sembra di essere il capo qui o che sia una specie di territorio privato. Le porte sono aperte. Tutti sono benvenuti. Tutti sono benvenuti. E anche i troll, perché a volte ti danno una spinta. :)

Grazie, Nicholas.

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

Formazione:

1. Raccolgo i fotogrammi in un semplice editor "FastStone", facendo degli screenshot dell'area desiderata, o girando una clip con Camtasia, e trasferisco i fotogrammi in FastStone.

2. Elaboro i fotogrammi (aggiungo ombre, frecce, testi) e li salvo in formato .bmp nella cartella Images\MyGif (ogni gif ha la sua sottocartella).

3. I nomi dei frame dovrebbero essere "1.bmp", "2.bmp", "3.bmp", ... È necessario per lo script che crea la Gif.

4. Aprite lo script in ME e integrate tutti i frame attraverso #resource.

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

Principio della sceneggiatura:

1. Lo script scorre i fotogrammi e li legge attraverso il ReasourceReadImage.

2. Lo script carica due fotogrammi in una volta sola - nuovi e precedenti: 1 e 2, poi 2 e 3, poi 3 e 4.... E confronta i colori dei pixel nel nuovo fotogramma e in quello precedente. Se il colore è cambiato, lo script scrive il numero del pixel e il suo nuovo colore in un array. Così, vengono scritti solo i pixel e i colori che sono cambiati dal fotogramma precedente. Se il colore di un pixel non cambia dopo il primo fotogramma, il pixel con quel colore sarà scritto una volta sola. Questo è il primo meccanismo di compressione.

3. Il secondo meccanismo di compressione: le file di pixel con lo stesso colore sono accorciate. Se la fila di pixel ha un colore che si ripete da pixel a pixel, lo script inizia un ciclo di conteggio delle ripetizioni e scrive nell'array il numero del pixel di partenza (da cui è iniziata la sequenza di ripetizioni, il colore e il numero di ripetizioni).

In questo modo, lo script comprime i fotogrammi e impacchetta la gif. Alla fine dei cicli, l'array raccolto viene scritto nel file con il nome della gif, dopo di che il costruttore lo carica leggendo il codice kib. L'interfaccia può contenere un numero qualsiasi di ife, ma ogni ifa è assegnata al proprio elemento e al suo inizio nell'array, scritto nelle proprietà dell'elemento nel graph.kernel.

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

Meccanismo di riproduzione delle ife:

1. Ogni ifo ha diverse proprietà: origine in un array di ife, numero di fotogrammi, dimensione del fotogramma, pausa tra i fotogrammi.

2. Un blocco speciale fa un ciclo attraverso gli oggetti del kernel e cerca la proprietà dell'hyphon. Il blocco controlla:

  • Presenza delle ife nell'elemento.
  • Se l'elemento è visibile o nascosto
  • Se l'elemento è visibile

Se i controlli sono superati, il blocco accede all'array di ife all'indirizzo della particolare ifa, guardando:

  • contatore di fotogrammi
  • pausa contatore

Se questi controlli sono superati, l'unità procede a leggere le ife:

1. l'unità carica la tela su cui viene disegnata la gif.

2. l'unità legge il frame corrente e lo scompatta:

  • Trova i pixel giusti per numero e calcola la loro posizione nel kanvas complessivo.
  • Disegna pixel del colore giusto nel posto giusto.
  • "Spacchetta" una sequenza di pixel con lo stesso colore.

Il blocco si muove non solo attraverso i fotogrammi, contando la pausa tra di essi, ma anche attraverso diversi hiff di diversi elementi in diverse finestre, saltando quegli hiff che sono nascosti dietro l'area di visibilità o in finestre chiuse.

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

Questo è il tipo di lavoro. Pensavo fosse facile, ma quando l'ho detto, sono rimasto un po' "scioccato" dalla complessità :).

ZS. Una gif con un'immagine di 800*600 è compressa fino a 20 volte o più. Se riuscissi a scrivere tutto in un array di char, la compressione aumenterebbe di altre 4 volte. Ma impoverirebbe sicuramente la tavolozza dei colori.
 
Ma cosa c'entra la "gif"?