캔버스 멋지다! - 페이지 5 123456789101112...93 새 코멘트 Nikolai Semko 2018.03.02 23:21 #41 코드를 약간 변경했습니다. 두 개의 회전하는 중력 중심이 있었지만 지금은 4개가 있습니다. #include <Canvas\Canvas.mqh> void OnStart () { ChartSetInteger ( 0 , CHART_FOREGROUND , true ); CCanvas C; int Width=( ushort ) ChartGetInteger ( 0 , CHART_WIDTH_IN_PIXELS ); // получаем Ширину окна int Height=( ushort ) ChartGetInteger ( 0 , CHART_HEIGHT_IN_PIXELS ); // получаем Высоту окна if (!C.CreateBitmapLabel( 0 , 0 , "CanvasExamlple" , 0 , 0 ,Width,Height, COLOR_FORMAT_XRGB_NOALPHA )) // создаем канвас размером текущего окна Print ( "Error creating canvas: " , GetLastError ()); uint i= 0 ,j= 100000 ; int size=Width*Height; uchar h[ 25600 ]; for ( int w= 0 ;w< 25600 ;w++) h[w]= uchar ( 128 + 128 * sin ( double (w)/ 256 )); //создаем массив для ускорения работы double X1= 0 ,Y1= 0 ,X2= 0 ,Y2= 0 ,X3= 0 ,Y3= 0 ,X4= 0 ,Y4= 0 ; while (! IsStopped ()) { int pos= int (i%size); if (pos== 0 ) { C.Update(); //Sleep(30); X1= Width/ 2 -( sin (( double )j/ 100 )*( double )Width/ 2 ); Y1= Height/ 2 -( cos (( double )j/ 140 )*( double )Height/ 2 ); X2= Width/ 2 +( cos (( double )j/ 80 )*( double )Width/ 2 ); Y2= Height/ 2 +( sin (( double )j/ 20 )*( double )Height/ 2 ); X3= Width/ 2 +( cos (( double )j/ 85 )*( double )Width/ 2 ); Y3= Height/ 2 +( sin (( double )j/ 65 )*( double )Height/ 2 ); X4= Width/ 2 +( cos (( double )j/ 152 )*( double )Width/ 2 ); Y4= Height/ 2 +( sin (( double )j/ 42 )*( double )Height/ 2 ); j++; } int X=pos%Width; int Y= int (pos/Width); double D1= sqrt ((X1-X)*(X1-X)+(Y1-Y)*(Y1-Y)); double D2= sqrt ((X2-X)*(X2-X)+(Y2-Y)*(Y2-Y)); double D3= sqrt ((X3-X)*(X3-X)+(Y3-Y)*(Y3-Y)); double D4= sqrt ((X4-X)*(X4-X)+(Y4-Y)*(Y4-Y)); double d= (D1+D2)/(D1+D2+D3+D4); //C.m_pixels[pos]=XRGB(h[int(d*11520)],h[int(d*17920)],h[int(d*6400)]); // чуть быстрее работает, но требует переноса в Canvas.mqh массива m_pixels из protected в public C.PixelSet(X,Y,XRGB(h[ int (d* 11520 )],h[ int (d* 17920 )],h[ int (d* 6400 )])); i++; } C.Destroy(); } //+------------------------------------------------------------------+ 파일: LSD.mq5 4 kb Denis Sartakov 2018.03.03 00:31 #42 Nikolai Semko : 코드를 약간 변경했습니다. 두 개의 회전하는 중력 중심이 있었지만 지금은 4개가 있습니다. 엄청난 ! 고객이 고개를 돌리지 않도록 최면을 거는 것이 좋습니다. 손실에 주의를 기울이지만 단순히 과정 자체를 즐겼습니다. Aleksey Panfilov 2018.03.03 04:29 #43 Denis Sartakov : 엄청난 ! 고객이 고개를 돌리지 않도록 최면을 거는 것이 좋습니다. 손실에 주의를 기울이지만 단순히 과정 자체를 즐겼습니다. 어떻게 이 최면에 걸리지 않을 수 있겠습니까? :) 그리고 동의해야 합니다. Canvas는 훌륭합니다! 와, 그랬던 것 같습니다. ))) Aleksey Ivanov 2018.03.03 17:26 #44 Nikolai Semko : 코드를 약간 변경했습니다. 두 개의 회전하는 중력 중심이 있었지만 지금은 4개가 있습니다. 우리는 또한 "심기"에 대한 제안과 함께 25번째 프레임이 필요합니다. Nikolai Semko 2018.03.03 18:37 #45 Aleksey Ivanov : 우리는 또한 "심기"에 대한 제안과 함께 25번째 프레임이 필요합니다. 멋진 아이디어입니다. 오늘 할게요. Nikolai Semko 2018.03.03 20:40 #46 Aleksey Ivanov : 우리는 또한 "심기"에 대한 제안과 함께 25번째 프레임이 필요합니다. 만들어진. 파일: LSD25.mq5 6 kb Aleksey Ivanov 2018.03.03 20:43 #47 Nikolai Semko : 만들어진. 수업! 당신은 멀리 갈 것입니다! Vitaly Muzichenko 2018.03.23 07:52 #48 OnInit에서 캔버스를 만듭니다. canvas.CreateBitmapLabel(prefix+ "bg" , 1 , 17 ,WidthBg,HeightBg, COLOR_FORMAT_ARGB_NORMALIZE ); ObjectSetInteger ( 0 ,prefix+ "bg" , OBJPROP_SELECTABLE , true ); ObjectSetInteger ( 0 ,prefix+ "bg" , OBJPROP_SELECTED , true ); ObjectSetInteger ( 0 ,prefix+ "bg" , OBJPROP_COLOR , clrNONE ); canvas.Erase( ColorToARGB (C'221,219,219', 200 )); // цвет фона canvas.Rectangle( 0 , 0 ,canvas.Width()- 1 ,canvas.Height()- 1 , ColorToARGB ( clrGray )); // Рамка canvas.Update(); 다음으로 10:00에 OnTick의 색상을 회색으로 변경하고 11:00에 다시 원래 상태로 돌아가야 합니다. 작동하지 않음: if (Flag) { // Перекрашиваем фон canvas.Erase( ColorToARGB ( C'221,219,219' , 200 )); canvas.Rectangle( 0 , 0 ,canvas.Width()- 1 ,canvas.Height()- 1 , ColorToARGB ( clrDarkOliveGreen )); // Рамка canvas.Update(); } else { // Возвращаем фон в нормальный цвет canvas.Erase( ColorToARGB (ResultColor, 200 )); canvas.Rectangle( 0 , 0 ,canvas.Width()- 1 ,canvas.Height()- 1 , ColorToARGB ( clrGray )); // Рамка canvas.Update(); } 문제: 캔버스 및 프레임 색상을 변경하는 방법 - 개체 이름에 대한 바인딩이 없습니까? 고맙습니다! Vladimir Karputov 2018.03.23 07:59 #49 Vitaly Muzichenko : OnInit에서 캔버스를 만듭니다. 다음으로 10:00에 OnTick의 색상을 회색으로 변경하고 11:00에 다시 원래 상태로 돌아가야 합니다. 작동하지 않음: 문제: 캔버스 및 프레임 색상을 변경하는 방법 - 개체 이름에 대한 바인딩이 없습니까? 고맙습니다! Canvas.Rectangle은 객체가 아니라 픽셀 묶음을 그리는 명령입니다. 그것은 총알과 같습니다. 총알이 날아 당신의 이름을 기억하십시오. 의견은 안 받아요. Rashid Umarov 2018.03.23 08:00 #50 CCanvas 클래스 탐색 기사가 있습니다. 그래픽스 객체의 투명도를 구현하려면 솔루션이 있어야 합니다. 123456789101112...93 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
코드를 약간 변경했습니다. 두 개의 회전하는 중력 중심이 있었지만 지금은 4개가 있습니다.
코드를 약간 변경했습니다. 두 개의 회전하는 중력 중심이 있었지만 지금은 4개가 있습니다.
엄청난 !
고객이 고개를 돌리지 않도록 최면을 거는 것이 좋습니다.
손실에 주의를 기울이지만 단순히 과정 자체를 즐겼습니다.
엄청난 !
고객이 고개를 돌리지 않도록 최면을 거는 것이 좋습니다.
손실에 주의를 기울이지만 단순히 과정 자체를 즐겼습니다.
어떻게 이 최면에 걸리지 않을 수 있겠습니까? :)
그리고 동의해야 합니다. Canvas는 훌륭합니다!
와, 그랬던 것 같습니다. )))
코드를 약간 변경했습니다. 두 개의 회전하는 중력 중심이 있었지만 지금은 4개가 있습니다.
우리는 또한 "심기"에 대한 제안과 함께 25번째 프레임이 필요합니다.
우리는 또한 "심기"에 대한 제안과 함께 25번째 프레임이 필요합니다.
만들어진.
만들어진.
수업! 당신은 멀리 갈 것입니다!
OnInit에서 캔버스를 만듭니다.
다음으로 10:00에 OnTick의 색상을 회색으로 변경하고 11:00에 다시 원래 상태로 돌아가야 합니다.
작동하지 않음:
문제:
캔버스 및 프레임 색상을 변경하는 방법 - 개체 이름에 대한 바인딩이 없습니까?
고맙습니다!
OnInit에서 캔버스를 만듭니다.
다음으로 10:00에 OnTick의 색상을 회색으로 변경하고 11:00에 다시 원래 상태로 돌아가야 합니다.
작동하지 않음:
문제:
캔버스 및 프레임 색상을 변경하는 방법 - 개체 이름에 대한 바인딩이 없습니까?
고맙습니다!
Canvas.Rectangle은 객체가 아니라 픽셀 묶음을 그리는 명령입니다. 그것은 총알과 같습니다. 총알이 날아 당신의 이름을 기억하십시오. 의견은 안 받아요.
CCanvas 클래스 탐색 기사가 있습니다. 그래픽스 객체의 투명도를 구현하려면 솔루션이 있어야 합니다.