캔버스 멋지다! - 페이지 37

 
Реter Konow :

MQL과 관련된 창의적인 주제와 거리가 멀다는 것뿐입니다. 귀하에게 최적화된 소규모 Expert Advisors는 MQL의 틈새 시장, 창의성 및 비즈니스의 한계입니다. 그리고 이 주제는 중복됩니다.

나는 소비자 청중이 시장에서 얼마나 얕아 보이는지 이해했기 때문에 논쟁하지 않을 것입니다. 하지만 '창의적 충전'이 필요하든 말든 저를 성과 로 이끌었습니다. 이제 이 충전은 끝났습니다. 더 이상 그래픽 작업을 하지 않습니다.

난 할 수 없어, 피터, 난 당신의 말에 동의합니다. Igor는 많은 것을 배울 수 있는 양질의 프로그래머입니다.
그리고 표준 GIF 형식을 사용하는 것이 고유한 형식 및 압축 알고리즘을 구현하는 것보다 확실히 더 적절합니다.
훨씬 더 편리합니다. 편리하고 친숙한 방식으로 gif를 만들고 편집하고 내 프로그램에 애니메이션 을 끼워 넣었습니다.
그런데 GIF 특허는 2004년에 종료되었습니다. 문제 없이 사용할 수 있습니다.
gif를 작성하기 위해 내 자신의 mql-프로그램을 개발하는 데 의미가 없다고 생각합니다. Camtasia Studio와 같은 기존 스크린 레코더가 이 작업을 더 잘 수행합니다.

하지만 MT5 창에 애니메이션 GIF를 도입하기 위한 바이블을 작성하는 것이 좋을 것입니다. 게다가 이것은 그다지 어려운 작업이 아닙니다. 포맷의 구조를 간략히 살펴보니 1~2일이면 가능할 것 같습니다.

PS 오, Peter, 당신의 교만한 오만함과 자랑을 겸손으로 바꾸십시오. 당신에게 대가는 없을 것입니다.

 
Nikolai Semko :

난 할 수 없어, 피터, 난 당신의 말에 동의합니다. Igor는 많은 것을 배울 수 있는 양질의 프로그래머입니다.
그리고 표준 GIF 형식을 사용하는 것이 고유한 형식 및 압축 알고리즘을 구현하는 것보다 확실히 더 적절합니다.
훨씬 더 편리합니다. 편리하고 친숙한 방식으로 gif를 만들고 편집하고 내 프로그램에 애니메이션을 끼워 넣었습니다.
그런데 GIF 특허는 2004년에 종료되었습니다. 문제없이 사용할 수 있습니다.
gif를 작성하기 위해 내 자신의 mql-프로그램을 개발하는 데 의미가 없다고 생각합니다. Camtasia Studio와 같은 기존 스크린 레코더가 이 작업을 더 잘 수행합니다.

하지만 MT5 창에 애니메이션 GIF를 도입하기 위한 바이블을 작성하는 것이 좋을 것입니다. 게다가 이것은 그다지 어려운 작업이 아닙니다. 포맷의 구조를 간략히 살펴보니 1~2일이면 가능할 것 같습니다.

PS 오, Peter, 당신의 오만함과 오만함을 겸허함으로 바꾸시겠습니까? 당신에게는 아무런 대가도 없을 것입니다.

1. Igor가 프로그래머로서 얼마나 좋은지 모릅니다. 예, 나는 그를 비난하지 않았습니다. 하지만 좋으면 그렇게 됩니다.

2. 당신이 표준 형식을 사용할 수 있다면 잘 했어, 나는 그것을 사용하지 않을 것입니다. 이것은 자신의 단순화 된 것을 작성하는 것보다 더 어려운 것 같습니다. 반복합니다 - 프레임을 처리할 필요가 없는 gif에서 에너지를 절약할 수 있습니다. 즉, 제거하고 바로 MQL 프로그램으로 옮겼습니다. 하지만 - 지침을 만들고 이미지를 프레임별로 처리해야 하는 경우 - 표준 GIF는 도움이 되지 않습니다. 어떤 의미에서 GIF 처리는 편집기를 통해 해야 하고 거기에 각 프레임을 순차적으로 로드하고 이런 식으로 비디오 시퀀스를 구성하게 될까요? 그리고 재생 메커니즘은 더 복잡해질 것입니다. 훨씬 더 어렵습니다. 하지만 확인해보자.

3. 고문에서 자신의 스크린 레코더를 개발하는 것은 물론 말도 안됩니다.

추신. 겸손은 나의 장점이 아닙니다.

 

Nikolay, 일반적으로 표준 .gif 형식을 열어 mql 프로그램에 통합하는 실험이 엄숙하게 시작되었습니다! 행운을 빕니다.

추신. 성공하면 대문자로 끝납니다. 그렇지 않으면 소문자로도 끝납니다.)) 시도는 고문이 아닙니다.

결국 간단한 루핑 10프레임 비디오 명령을 만드는 데 드는 인건비와 읽기 및 재생 메커니즘의 복잡성을 비교할 수 있습니다.

 
Andrey Dik :

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

여기 이 블로그 페이지에서 일러스트레이션(그림)은 어떻게 만드셨나요? 어떻게 웹페이지에 이미지를 올릴 수 있었습니까? 나는 이해할 수 없다 - 어떻게?!


물에 잠기는 것이 좋습니다. 그는 스스로 사과했다.
 
Andrey Dik :

아니요, 원칙의 문제입니다 ..... 신의 도움과 동료들과 함께 당신이 올바른 길을 가도록 도울 수 있기를 바랍니다. 당신은 좋은 사람입니다.

원하신다면 개인적으로 원칙에 대해 논의해 봅시다. 여기에서 질서를 지키자.
 
Nikolai, 이 표준 gif는 읽을 수 있는 파일로 전송하고 이 파일에서 배열로 전송해야 합니다. 운영 체제에 대한 바인딩이 있을 수 있습니다. gif 파일의 압축을 풀고 이미지 데이터가 있는 곳, 팔레트 인덱싱이 있는 곳, 재생 데이터가 있는 곳, 운영 체제 데이터 또는 기타 일반 데이터가 있는 곳을 구분해야 합니다. 요컨대, 그러한 파일에는 많은 "쓰레기"가 있지만 여전히 해독해야 하고 올바른 파일을 가져와야 합니다. 어떻게 관리하실지 모르겠습니다.
 
Andrey Dik :

질문에 답하십시오 - 블로그에 사진을 어떻게 게시하셨습니까? 간단한 질문에 답하고 끝내세요.

일반적으로 - 가져 와서 배치했습니다. 앤드류, 당신은 당신이 좋아하지 않는 것을 설명합니다. 홍수 없이만.

EA의 스크린 레코더에 대한 제 의견에 기분이 상하셨다면, 그것은 단지 당신이 (아직) 캔버스에 능숙하지 않기 때문입니다. 나는 또한 유전 알고리즘 을 뒤지지 않으며 아무 것도 선언하지 않습니다. 그리고 그렇게 한다면, 나는 빨리 내 실수를 인정합니다. MT에서 캔버스를 가져와 일종의 Windows 비디오 형식으로 변환할 수는 없습니다. 가 어렵다. 매우 어렵다. 그리고 그것은 무의미합니다. 범죄가 없습니다.

 
Andrey Dik :

Piotr, 당신은 그냥 "잡아 게시"한 것이 아니라 PrintScrin 버튼이 있는 스크린샷을 클립보드에 놓고 그림판에 붙여넣고 초과분을 잘라내어 그래픽 형식 파일에 저장한 다음 블로그.

즉, Windows 도구와 그래픽 데이터에 대해 일반적으로 허용되는 표준을 적극적으로 사용합니다. 그렇지 않으면 작업 프로그램에 대한 정보를 사용자에게 전달할 수 없습니다.

따라서 이 모든 작업을 캔버스에서 수행했다면 타사 프로그램을 사용하지 않고 프로그램의 명령으로 사진(또는 비디오까지!)을 간단히 저장할 수 있습니다.

제가 잘 못하는 부분에 대해 질문하고, 실수를 인정하고, 개선하려고 노력하는 것은 저에게 어려운 일이 아니며 전혀 부끄러운 일이 아닙니다. 그리고 결과적으로 캔버스를 비디오 파일에 저장하는 것은 전혀 어렵지 않습니다.

1. .bmp 형식의 사진 - 문제 없습니다. 그러나 .avi(또는 기타) 형식의 사진에서 비디오를 저장하는 것은 매우 어렵습니다. "게임은 촛불 가치가 없기 때문에"나는 그것을 받아들이지 않을 것입니다. 비디오는 모든 레코더로 쉽게 녹화할 수 있지만 MQL 도구는 이를 위해 설계되지 않았습니다. DLL을 사용할 수 있지만 그 이유는 무엇입니까? 녹음기를 가지고 필요한 것을 녹음합니다. MQL에서 이러한 메커니즘을 개발하는 것은 매우 힘든 작업입니다. 그리고 내가 그렇게 말하면, 당신은 그것을 믿을 수 있습니다.))

2. mql에서 gif의 의미 - 짧은 비디오 지침 또는 데모. Nikolai는 대부분의 사람들과 마찬가지로 표준 gif 파일을 가져와 MQL에서 읽고 재생하기 위한 알고리즘을 작성하면 끝이라고 믿습니다. 난 그렇게 생각하지 않아. 많은 함정이 있습니다. 파일 암호 해독, 데이터 추출, 배열로 로드, 읽기/재생 메커니즘 쓰기. 그것은 매우 어렵습니다. 지침에는 10~20개의 프레임만 포함되어 있으므로 자신만의 단순화된 버전을 만드는 것이 더 쉽습니다. 처리에는 1시간이 걸립니다. 반면에 지침에 균일한 색상이 포함되어 있기 때문에 압축이 더 잘 됩니다. 그리고 비디오에는 반복되는 색상 시퀀스가 거의 없습니다. 그리고 모든 프레임이 다릅니다. 따라서 색상 팔레트 인덱싱이 사용됩니다. 어떻게 든 데이터 양을 압축합니다.

 
Реter Konow :

1. .bmp 형식의 사진 - 문제 없습니다. 그러나 .avi(또는 기타) 형식의 사진에서 비디오를 저장하는 것은 매우 어렵습니다. "게임은 촛불 가치가 없기 때문에" 나는 그것을 받아들이지 않을 것입니다. 비디오는 모든 레코더로 쉽게 녹화할 수 있지만 MQL 도구는 이를 위해 설계되지 않았습니다. DLL을 사용할 수 있지만 그 이유는 무엇입니까? 녹음기를 가지고 필요한 것을 녹음합니다. MQL에서 이러한 메커니즘을 개발하는 것은 매우 힘든 작업입니다. 그리고 내가 그렇게 말하면, 당신은 그것을 믿을 수 있습니다.))

2. mql에서 gif의 의미 - 짧은 비디오 지침 또는 데모. Nikolai는 대부분의 사람들과 마찬가지로 표준 gif 파일을 가져와 MQL에서 읽고 재생하기 위한 알고리즘을 작성하면 끝이라고 믿습니다. 난 그렇게 생각하지 않아. 많은 함정이 있습니다. 파일 암호 해독, 데이터 추출, 배열로 로드, 읽기/재생 메커니즘 쓰기. 그것은 매우 어렵습니다. 지침에 10~20개의 프레임만 포함되어 있기 때문에 간단한 버전을 만드는 것이 더 쉽습니다. 처리에는 1시간이 걸립니다. 반면 지침에 균일 색상이 포함되어 있기 때문에 압축이 더 잘 됩니다. 그리고 비디오에는 반복되는 색상 시퀀스가 거의 없습니다. 그리고 모든 프레임이 다릅니다. 따라서 색상 팔레트 인덱싱이 사용됩니다. 어떻게 든 데이터 양을 압축합니다.

모든 것이 거의 동일하지만 정확히 그 반대입니다.
이 모든 루틴을 팔레트로 구현하고 패키징을 gif로 구현하고 아무도 필요로하지 않는 자전거를 발명 할 필요가 없으며 또한 타는 방법이 명확하지 않습니다.
시간당 10-20 프레임. 장난해? 누가 그런 "행복"을 필요로 합니까?
화면에서 작은 비디오를 촬영하고 편집하고 텍스트 및 그래픽 레이블을 도입하고 애니메이션 gif로 변환하는 작업은 Camtasia에서 몇 분이 소요됩니다.

그리고 gif 파일을 프로그램에 리소스로 도입하는 것은 찐 순무보다 쉽습니다.

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

여기에서 형식에 대해 읽을 수 있습니다.
http://home.onego.ru/~chiezo/gif.htm

파일:
Dialog.gif  681 kb
GifTest.mq5  3 kb
 
Nikolai Semko :

모든 것이 거의 동일하지만 정확히 반대입니다.
이 모든 루틴을 팔레트로 구현하고 패키징을 gif로 구현하고 아무도 필요로하지 않는 자전거를 발명 할 필요가 없으며 또한 타는 방법이 명확하지 않습니다.
시간당 10-20 프레임. 농담하는거야? 그런 "행복"이 필요한 사람은 누구입니까?
화면에서 작은 비디오를 촬영하고 편집하고 텍스트 및 그래픽 레이블을 도입하고 애니메이션 GIF로 변환하는 작업은 Camtasia에서 몇 분 정도 걸립니다.

그리고 gif 파일을 프로그램에 리소스로 도입하는 것은 찐 순무보다 쉽습니다.

여기에서 형식에 대해 읽을 수 있습니다.
http://home.onego.ru/~chiezo/gif.htm

니콜라이, gif는 다릅니다. 일부에는 인터레이스 압축이 구현되어 있고, 일부에는 구현되어 있지 않으며, 일부에는 색상 팔레트 인덱싱이 있고, 나머지는 그렇지 않습니다. Camtasia에는 GIF 설정이 있으며 매우 광범위합니다.

형식 설명에 대한 링크를 읽었습니다. 그래서 나는 이 사건을 받아들이지 않았다. 엄청난 수의 뉘앙스가 있으며 알고리즘은 이를 분석해야 합니다. 이 형식에서 복잡한 데이터를 구문 분석하고 이를 재현하는 방법을 결정하는 알고리즘을 상상해 보십시오. 이 관점에서 이 형식에 대한 설명을 읽으십시오. 나는 C++에 이를 위해 이미 만들어진 알고리즘이 있다고 확신하지만, 이를 MQL에 통합하는 것도 어렵지 않습니다.

따라서 질문은 동일하게 유지됩니다.

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

1. 출력 파일의 암호를 어떻게 해독합니까?

2. 캔버스 솔루션으로 그의 내면을 어떻게 교차시키나요?

3. gif 파일을 통합한다고 해서 재생 메커니즘을 작성하는 것은 아닙니다(파일을 해독하지 않고는 작성할 수 없음).

4. 일반 편집기에서는 배경색과 디테일을 제어하여 "모놀리식"으로 만들어 압축을 크게 향상시킬 수 있지만 Camtasia에서는 그런 가능성이 없는 것 같습니다...

5. Camtasia에서 프레임을 편집하는 데 거의 같은 시간을 할애하고 편집 품질이 저하됩니다. Camtasia는 다른 작업을 위해 설계되었습니다.

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

기껏해야 거의 같은 노력으로 압축률이 낮고 품질이 낮은 gif가 될 것입니다. 물론 추상 gif가 아니라 특정 10-20 프레임 지침에 대해 이야기하는 경우입니다.

그러나 이것은 내 의견일 뿐입니다.

나는 당신의 구현을 기대합니다.

사유: