A lona é legal! - página 37

 
Реter Konow:

Você está apenas distante dos temas criativos relacionados à MQL. Para você, pequenos Expert Advisors otimizados são o limite do nicho, a criatividade e os negócios na MQL. E este tópico se revela desnecessário.

Não vou discutir, porque percebi o quão superficial é o público consumidor no mercado. Mas, a "carga criativa" me levou às minhas realizações , independentemente de precisarem ou não. Agora essa carga se esgotou. Eu não faço mais gráficos.

Eu não posso concordar com você, Peter. Igor é um programador de qualidade, com o qual você pode aprender muito.
E o uso do formato padrão Gif é obviamente mais apropriado do que tentar implementar seu próprio formato e algoritmo de compressão.
É muito mais conveniente - criado e editado gif de forma conveniente e colado animação em seu programa.
E a propósito, as patentes do Gif terminaram em 2004, para que você possa usá-lo sem problemas.
A razão para isto é que os gravadores de tela existentes (por exemplo, Camtasia Studio) podem fazê-lo melhor.

Mas escrever uma bíblia para embutir gifs animados na janela MT5 seria bom. Além disso, não é uma tarefa muito difícil. Se você der uma rápida olhada na estrutura do formato, você poderá resolvê-lo em 1-2 dias.

Oh, Peter, se você pudesse substituir sua orgulhosa vaidade e elogios por modéstia, você não valeria a pena.

 
Nikolai Semko:

Eu não posso concordar com você, Peter. Igor é um programador de qualidade, com o qual você pode aprender muito.
E usar o formato padrão Gif é, naturalmente, mais razoável do que tentar implementar seu próprio formato e algoritmo de compressão.
Isto é muito mais conveniente - criado e editado de maneira conveniente e animação colada em seu programa.
E, a propósito, as patentes do Gif expiraram em 2004, para que você possa utilizá-lo sem problemas.
A razão para isto é que os gravadores de tela existentes (por exemplo, Camtasia Studio) podem fazê-lo melhor.

Mas escrever uma bíblia para embutir gifs animados na janela MT5 seria bom. Além disso, não é uma tarefa muito difícil. Se você der uma rápida olhada na estrutura do formato, acho que você pode fazê-lo em 1-2 dias.

Oh, Peter, se você pudesse substituir sua orgulhosa vaidade e elogios por modéstia, você não valeria a pena.

1. Como é bom um programador Igor, eu não tenho idéia. Eu também não estava criticando-o. Mas, se ele é bom, então que seja.

2. Se você puder usar o formato padrão, bem feito, eu não o faria. Acho que é mais difícil do que escrever seu próprio simplificado. Vou dizer novamente - você vai economizar dinheiro em gifs onde não precisa processar quadros. Ou seja, você pega a filmagem e a transfere imediatamente para o programa MQL. Mas se você precisar fazer uma instrução e processar imagens quadro a quadro, o gif padrão não o ajudará. Quero dizer, o processamento do gif deve ser feito com o editor, e você vai carregar cada quadro um a um no editor e criar a seqüência de vídeo dessa forma? E o mecanismo de reprodução será mais complicado. Muito mais complicado. Mas, vamos verificar isso.

3. Não podemos ter certeza de que é um absurdo desenvolver nossos próprios gravadores de tela em Expert Advisors.

ZS. A modéstia não é meu ponto forte)))).

 

Nikolai, bem, a experiência de abrir o formato padrão .gif e integrá-lo no programa mql é solenemente iniciada! Desejo-lhe boa sorte.

Zy. Se você tiver sucesso, você é um grande sucesso, e se não, você é tão bom quanto uma pena)). Tentar não é uma tortura.

No final, você pode comparar o trabalho envolvido em fazer um simples looping de 10 quadros de vídeo-instrução, e a complexidade do mecanismo de leitura e reprodução.

 
Andrey Dik:

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

nesta página do blog, como você fez a ilustração (foto)? Como você conseguiu colocar a imagem na página web? está além da compreensão - COMO?!!!


Pare de flubbing. O senhor pediu desculpas.
 
Andrey Dik:

Não, é uma questão de princípio ..... Espero que com a ajuda de Deus e de meus colegas possamos ajudar você a voltar ao caminho certo, você é um bom rapaz.

Vamos discutir os princípios em particular, se você quiser. Vamos manter as coisas em ordem aqui.
 
Nikolai, este gif padrão deve ser transferido para um arquivo legível, e a partir daí para uma matriz. Pode haver algumas amarrações no sistema operacional. Você terá que desembalar o arquivo gif e separar onde estão os dados da imagem, onde está a indexação da paleta, onde estão os dados de reprodução e onde estão os dados do sistema operacional ou outros dados padrão. Em resumo, haverá muito "lixo" em tal arquivo, e você ainda precisa de decifrá-lo e pegar o que precisa. Eu não sei como você vai conseguir.
 
Andrey Dik:

por favor, responda à pergunta - como você publicou a foto em seu blog. uma pergunta simples, responda e termine com ela.

Normalmente, basta colocá-lo para cima. Andrei, você apenas explica com o que não está confortável. Apenas não flube.

Se você se machuca com minha opinião sobre os gravadores de tela na EA, é apenas porque você não é muito bom em kanvas (ainda). Eu também não sei nada sobre algoritmos genéticos e não declaro nada. E se o fizer, sou rápido a admitir erros. Você não pode simplesmente pegar Kanvas da MT e traduzi-lo para algum formato de vídeo do Windows. É o DUCKY. Muito complicado. E inútil. Sem ofensa.

 
Andrey Dik:

Peter, você não apenas "tomou e colocou a foto na prancheta usando o botão PrintScrin, colou-a da prancheta na Paint, aparou o excesso, salvou-a em um arquivo de formato gráfico e depois colou-a em seu blog.

Ou seja, você utiliza ativamente os meios Windows e os padrões geralmente aceitos de dados gráficos, sem os quais não seria capaz de transmitir ao usuário informações sobre suas ações.

Portanto, se você estivesse fazendo tudo isso em Canvas, você poderia simplesmente salvar uma imagem (ou mesmo um vídeo!) em seu programa sem usar nenhum programa de terceiros.

Não é difícil e nada vergonhoso para mim fazer uma pergunta sobre algo em que não sou muito bom, admitir meus erros e tentar melhorar a mim mesmo. E, ao que parece, não é nada difícil salvar uma tela em um arquivo de vídeo.

1. Uma foto em formato .bmp - sem problemas. Mas salvar vídeos de imagens para .avi (ou outros formatos) é muito difícil. Eu não o farei, porque "não vale a pena o trabalho". O vídeo pode ser facilmente gravado com qualquer gravador, enquanto as ferramentas MQL não são projetadas para isso. Você pode usar DLL, mas para que? Pegamos um gravador e gravamos o que precisamos. O desenvolvimento de tal mecanismo na MQL é uma tarefa muito demorada. E se estou dizendo isso, acredite em mim).

2. O objetivo de um mql gif é a realização de pequenos tutoriais ou demonstrações em vídeo. Nikolay pensa, como a maioria faz, que você pode pegar um arquivo gif padrão, escrever um algoritmo para lê-lo e reproduzi-lo em MQL e é isso. Acho que não. Há muitas armadilhas. Decifrar o arquivo, extrair os dados, carregá-los em uma matriz, escrever um mecanismo de leitura/reprodução. É MUITO complicado. É mais fácil fazer sua própria versão simplificada, pois há apenas 10 a 20 quadros nas instruções. Eles demoram uma hora para processar. Mas, eles são melhor comprimidos porque as instruções contêm cores uniformes. E os vídeos não contêm quase nenhuma seqüência de cores repetitivas. E todas as molduras são diferentes. Portanto, é utilizada a indexação da paleta de cores. Para comprimir a quantidade de dados de alguma forma.

 
Реter Konow:

1. Uma foto em formato .bmp - sem problemas. Mas salvar vídeos de imagens para .avi (ou outros formatos) é muito difícil. Não vou fazer isso, porque não vale a pena o esforço. O vídeo pode ser facilmente gravado com qualquer gravador, enquanto as ferramentas MQL não são projetadas para isso. Você pode usar DLL, mas para que? Pegamos um gravador e gravamos o que precisamos. O desenvolvimento de tal mecanismo na MQL é uma tarefa muito demorada. E se estou dizendo isso, acredite em mim).

2. O objetivo de um gif em mql é a realização de pequenas instruções ou demonstrações em vídeo. Nikolay pensa, como a maioria das pessoas, que você pode pegar um arquivo gif padrão, escrever um algoritmo para lê-lo e reproduzi-lo em MQL e é isso. Acho que não. Há muitas armadilhas. Decifrar o arquivo, extrair os dados, carregá-los em uma matriz, escrever um mecanismo de leitura/reprodução. É MUITO complicado. É mais fácil fazer sua própria versão simplificada, pois há apenas 10 a 20 quadros nas instruções. Eles demoram uma hora para processar.No lado positivo, eles são melhor comprimidos porque as instruções contêm cores uniformes. E os vídeos quase não contêm seqüências de cores repetitivas. E todas as molduras são diferentes. Portanto, é aplicada a indexação da paleta de cores. A fim de comprimir a quantidade de dados de alguma forma.

É quase assim, mas exatamente o contrário.
E não há necessidade de reinventar uma bicicleta que você nem sabe andar de bicicleta.
10-20 quadros por hora. Você está brincando? Quem precisa desse tipo de felicidade?
Leva minutos em Camtasia para tirar uma pequena foto na tela, editá-la, inserir tags de texto e gráficos, e convertê-la em um gif animado.

E implementar um arquivo gif em um programa como um recurso é um passeio de bolo:

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

Leia sobre o formato aqui:
http://home.onego.ru/~chiezo/gif.htm

Arquivos anexados:
Dialog.gif  681 kb
GifTest.mq5  3 kb
 
Nikolai Semko:

É quase assim, mas exatamente o contrário.
E não há necessidade de reinventar uma bicicleta que ninguém sabe como andar de bicicleta.
10-20 quadros por hora. Você está brincando? Quem precisa desse tipo de felicidade?
Leva minutos em Camtasia para tirar uma pequena foto na tela, editá-la, inserir tags de texto e gráficos, e convertê-la em um gif animado.

E implementar um arquivo gif como um recurso em um programa é fácil como uma torta:

Leia sobre o formato aqui:
http://home.onego.ru/~chiezo/gif.htm

Nikolay, existem diferentes tipos de gifs. Alguns têm compressão entrelaçada, outros não, alguns têm indexação de paleta de cores, outros não. A Camtasia tem ambientes para os gifs e eles são bastante extensos.

Leia seu link para a descrição do formato. É por isso que eu não aceitaria o caso. Há uma enorme quantidade de nuances aí e cabe ao algoritmo resolvê-las. Imagine um algoritmo que analisa os dados a partir deste formato e determina como reproduzi-los. Leia a descrição do formato a partir deste ponto de vista. Tenho certeza que C++ tem algoritmos prontos para isso, mas integrá-los ao MQL é igualmente difícil.

Portanto, as perguntas permanecem as mesmas:

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

1. Como você decodifica o arquivo de saída?

2. Como você funde seu instinto com suas soluções kanvas?

3. Integrar um arquivo gif não significa escrever um mecanismo para reproduzi-lo (o que é impossível de escrever, sem decifrar o arquivo).

4. Em um editor regular, você pode controlar as cores e detalhes do fundo, tornando-os "monolíticos" e isso melhora drasticamente a compressão, enquanto em Camtasia parece que não existe tal característica...

5. Você passará aproximadamente o mesmo tempo editando filmagens em Camtasia e a qualidade de suas edições será pior - Camtasia é projetada para outros trabalhos.

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

Na melhor das hipóteses, você receberá gifs pouco comprimidos de má qualidade de imagem, por um esforço quase igual. É claro, se NÃO estamos falando de gifs abstratos, mas de instruções específicas de 10 a 20 quadros.

MAS, - esta é apenas a minha opinião.

Estou esperando sua implementação.

Razão: