La tela è forte! - pagina 37

 
Реter Konow:

Sei solo lontano dai temi creativi legati al MQL. Per voi, i piccoli Expert Advisors ottimizzati sono il limite della nicchia, della creatività e del business in MQL. E questo argomento risulta essere inutile.

Non ho intenzione di discutere, perché mi sono reso conto di quanto sia superficiale il pubblico dei consumatori nel Mercato. Ma, la "carica creativa" mi ha portato ai miei successi indipendentemente dal fatto che ne abbiano bisogno o meno. Ora quella carica si è esaurita. Non faccio più grafica.

Non posso essere d'accordo con te, Peter. Igor è un programmatore di qualità, da cui si può imparare molto.
E l'uso del formato standard Gif è naturalmente più appropriato che cercare di implementare il proprio formato e algoritmo di compressione.
È molto più conveniente - gif create e modificate in un modo conveniente e incollate l'animazione nel vostro programma.
E a proposito, i brevetti su Gif sono finiti nel 2004, quindi potete usarlo senza problemi.
La ragione di questo è che i registratori di schermo esistenti (per esempio Camtasia Studio) possono farlo meglio.

Ma scrivere una bibbia per incorporare le gif animate nella finestra di MT5 sarebbe bello. Inoltre non è un compito molto difficile. Se dai un'occhiata veloce alla struttura del formato, sarai in grado di risolverlo in 1-2 giorni.

Oh, Pietro, se tu potessi sostituire la tua presunzione orgogliosa e la tua lode con la modestia, non ne varrebbe la pena.

 
Nikolai Semko:

Non posso essere d'accordo con te, Peter. Igor è un programmatore di qualità, da cui si può imparare molto.
E usare il formato Gif standard è, ovviamente, più ragionevole che cercare di implementare il proprio formato e algoritmo di compressione.
Questo è molto più conveniente - creato e modificato gif modo conveniente e incollato animazione nel vostro programma.
E a proposito, i brevetti su Gif sono scaduti nel 2004, quindi potete usarlo senza problemi.
La ragione di questo è che i registratori di schermo esistenti (per esempio Camtasia Studio) possono farlo meglio.

Ma scrivere una bibbia per incorporare le gif animate nella finestra di MT5 sarebbe bello. Inoltre non è un compito molto difficile. Se dai un'occhiata veloce alla struttura del formato, penso che puoi farlo in 1-2 giorni.

Oh, Pietro, se tu potessi sostituire la tua presunzione orgogliosa e la tua lode con la modestia, non ne varrebbe la pena.

1. Quanto sia bravo come programmatore Igor, non ne ho idea. Nemmeno io lo stavo criticando. Ma se è bravo, allora lasciatelo stare.

2. Se puoi usare il formato standard, ben fatto, io non lo farei. Penso che sia più difficile che scrivere il proprio semplificato. Lo dirò di nuovo - risparmierete soldi sulle gif dove non dovrete elaborare i fotogrammi. Cioè, si prende il filmato e lo si trasferisce immediatamente al programma MQL. Ma se avete bisogno di fare un'istruzione ed elaborare le immagini fotogramma per fotogramma, la gif standard non vi aiuterà. Voglio dire, l'elaborazione della gif dovrebbe essere fatta con l'editor, e hai intenzione di caricare ogni fotogramma uno per uno nell'editor e creare la sequenza video in questo modo? E il meccanismo di riproduzione sarà più complicato. Molto più complicato. Ma controlliamo.

3. Non possiamo essere sicuri che sia un'assurdità sviluppare i nostri screen-recorder in Expert Advisors.

ZS. La modestia non è il mio forte))).

 

Nikolai, bene, l'esperimento di aprire il formato standard .gif e integrarlo nel programma mql è solennemente iniziato! Vi auguro buona fortuna.

Zy. Se hai successo, sei un grande successo, e se non hai successo, sei buono come una pietà)). Provare non è una tortura.

Alla fine, si può confrontare il lavoro necessario per fare una semplice video-istruzione di 10 fotogrammi in loop, e la complessità del meccanismo di lettura e riproduzione.

 
Andrey Dik:

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

su questa pagina del blog, come hai fatto l'illustrazione (immagine)? Come hai fatto a mettere l'immagine sulla pagina web? è oltre la comprensione - COME?!!!


Smettila di sbagliare. Hai detto che ti dispiace.
 
Andrey Dik:

No, è una questione di principio ..... Spero che con l'aiuto di Dio e dei miei colleghi possiamo aiutarti a tornare in pista, sei un bravo ragazzo.

Discutiamo i principi in privato, se volete. Qui teniamo le cose in ordine.
 
Nikolai, questa gif standard dovrebbe essere trasferita in un file leggibile, e da questo in un array. Potrebbero esserci dei legami con il sistema operativo. Dovrete decomprimere il file gif e separare dove sono i dati dell'immagine, dove è l'indicizzazione delle palette, dove sono i dati di riproduzione e dove sono i dati del sistema operativo o altri dati standard. In breve, ci sarà un sacco di "spazzatura" in un tale file, e tu devi ancora decifrarlo e prendere quello che ti serve. Non so come ci riuscirete.
 
Andrey Dik:

Per favore rispondi alla domanda - come hai fatto a postare la foto sul tuo blog. una semplice domanda, rispondi e falla finita.

Di solito, lo si mette su e basta. Andrei, spiega solo ciò che non ti sta bene. Basta non sbagliare.

Se sei ferito dalla mia opinione sugli screen-recorder nell'EA, è solo perché non sei molto bravo in kanvas (ancora). Inoltre non so nulla di algoritmi genetici e non dichiaro nulla. E se lo faccio, sono veloce ad ammettere gli errori. Non si può semplicemente prendere Kanvas da MT e tradurlo in qualche formato video di Windows. È DUCKY. Molto complicato. E inutile. Senza offesa.

 
Andrey Dik:

Peter, non hai semplicemente "preso e piazzato", ma hai messo lo screenshot negli appunti usando il pulsante PrintScrin, l'hai incollato dagli appunti in Paint, hai tagliato l'eccesso, l'hai salvato in un file di formato grafico e poi l'hai incollato nel tuo blog.

Cioè, si utilizzano attivamente i mezzi Windows e gli standard generalmente accettati dei dati grafici, senza i quali non si sarebbe in grado di trasmettere all'utente informazioni sulle loro azioni.

Quindi, se stavate facendo tutto questo su Canvas, potreste semplicemente salvare un'immagine (o anche un video!) nel vostro programma senza usare nessun programma di terze parti.

Non è difficile e non è affatto vergognoso per me fare una domanda su qualcosa in cui non sono molto bravo, ammettere i miei errori e cercare di migliorarmi. E, come si è scoperto, non è affatto difficile salvare una tela in un file video.

1. Una foto in formato .bmp - nessun problema. Ma salvare video da immagini in .avi (o altri formati) è molto difficile. Non lo farò, perché "non ne vale la pena". Il video può essere facilmente registrato con qualsiasi registratore, mentre gli strumenti MQL non sono progettati per questo. Si può usare la DLL, ma per cosa? Prendiamo un registratore e registriamo quello che ci serve. Lo sviluppo di un tale meccanismo in MQL è un compito che richiede molto tempo. E se lo dico io, credetemi).

2. Lo scopo di una gif in mql sono brevi istruzioni video o dimostrazioni. Nikolay pensa, come la maggior parte delle persone, che si possa prendere un file gif standard, scrivere un algoritmo per leggerlo e riprodurlo in MQL e questo è tutto. Non credo. Ci sono molte insidie. Decifrare il file, estrarre i dati, caricarli in un array, scrivere un meccanismo di lettura/riproduzione. È MOLTO complicato. È più facile fare la propria versione semplificata, perché ci sono solo da 10 a 20 fotogrammi nelle istruzioni. Ci vuole un'ora per elaborarli. Ma sono meglio compressi perché le istruzioni contengono colori uniformi. E i video non contengono quasi nessuna sequenza di colori ripetitivi. E tutti i telai sono diversi. Pertanto, viene utilizzata l'indicizzazione delle palette di colori. Per comprimere la quantità di dati in qualche modo.

 
Реter Konow:

1. Una foto in formato .bmp - nessun problema. Ma salvare video da immagini in .avi (o altri formati) è molto difficile. Non lo farò, perché non ne vale la pena. Il video può essere facilmente registrato con qualsiasi registratore, mentre gli strumenti MQL non sono progettati per questo. Si può usare la DLL, ma per cosa? Prendiamo un registratore e registriamo quello che ci serve. Lo sviluppo di un tale meccanismo in MQL è un compito che richiede molto tempo. E se lo dico io, credetemi).

2. Lo scopo di una gif in mql sono brevi istruzioni video o dimostrazioni. Nikolay pensa, come molti, che si possa prendere un file gif standard, scrivere un algoritmo per leggerlo e riprodurlo in MQL e questo è tutto. Non credo. Ci sono molte insidie. Decifrare il file, estrarre i dati, caricarli in un array, scrivere un meccanismo di lettura/riproduzione. È MOLTO complicato. È più facile fare la propria versione semplificata, perché ci sono solo da 10 a 20 fotogrammi nelle istruzioni. Ci vuole un'ora per elaborarli.Ma sono meglio compressi perché le istruzioni contengono colori uniformi. E i video non contengono quasi nessuna sequenza di colori ripetitivi. E tutti i telai sono diversi. Pertanto, viene utilizzata l'indicizzazione delle palette di colori. Per comprimere la quantità di dati in qualche modo.

È quasi così, ma esattamente il contrario.
E non c'è bisogno di reinventare una bicicletta che non sai nemmeno come guidare.
10-20 fotogrammi all'ora. Stai scherzando? Chi ha bisogno di questo tipo di felicità?
Ci vogliono minuti in Camtasia per prendere una piccola schermata, modificarla, inserire testo e tag grafici, e convertirla in una gif animata.

E implementare un file gif in un programma come risorsa è una passeggiata:

#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));   
  }

Leggete il formato qui:
http://home.onego.ru/~chiezo/gif.htm

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

È quasi così, ma esattamente il contrario.
E non c'è bisogno di reinventare una bicicletta che nessuno sa guidare.
10-20 fotogrammi all'ora. Stai scherzando? Chi ha bisogno di questo tipo di felicità?
Ci vogliono minuti in Camtasia per prendere una piccola schermata, modificarla, inserire testo e tag grafici, e convertirla in una gif animata.

E implementare un file gif come risorsa in un programma è facilissimo:

Leggete il formato qui:
http://home.onego.ru/~chiezo/gif.htm

Nikolay, ci sono diversi tipi di gif. Alcuni hanno la compressione interlacciata, altri no, alcuni hanno l'indicizzazione della tavolozza dei colori, altri no. Camtasia ha delle impostazioni per le gif e sono abbastanza ampie.

Ho letto il tuo link alla descrizione del formato. Ecco perché non accetterei il caso. C'è un'enorme quantità di sfumature e sta all'algoritmo risolverle. Immaginate un algoritmo che analizza il dump di dati da questo formato e determina come riprodurlo. Leggete la descrizione del formato da questo punto di vista. Sono sicuro che C++ ha algoritmi già pronti per questo, ma integrarli in MQL è altrettanto difficile.

Quindi le domande rimangono le stesse:

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

1. Come si decodifica il file di output?

2. Come fondete il suo intestino con le vostre soluzioni kanvas?

3. integrare un file gif non significa scrivere un meccanismo per riprodurlo (che è impossibile da scrivere, senza decifrare il file).

4. In un normale editor, puoi controllare i colori di sfondo e i dettagli, rendendoli "monolitici" e questo migliora la compressione in modo drammatico, mentre in Camtasia sembra che non ci sia questa funzione...

5. Spenderai più o meno la stessa quantità di tempo a montare filmati in Camtasia e la qualità delle tue modifiche sarà peggiore - Camtasia è progettato per altri lavori.

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

Nel migliore dei casi, otterrete gif mal compresse di scarsa qualità dell'immagine, per uno sforzo quasi uguale. Naturalmente, se non stiamo parlando di gif astratte, ma di istruzioni specifiche di 10 - 20 fotogrammi.

MA, - questa è solo la mia opinione.

Sto aspettando la tua implementazione.