キャンバスがカッコいい! - ページ 5 123456789101112...93 新しいコメント Nikolai Semko 2018.03.02 23:21 #41 コードを若干変更しました。回転する重心は2つでしたが、今は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:コードを若干変更しました。回転する重心は2つでしたが、今は4つになっています。 素晴らしい お客さんがお金を払わないように催眠術をかけるのはいいことだ その過程を楽しむことです。 Aleksey Panfilov 2018.03.03 04:29 #43 Denis Sartakov:すごい クライアントがお金を払わないように催眠術をかけるのは良いことです。 一番良い方法は、お客様に催眠術をかけて、損得を意識させず、ただそのプロセスを楽しんでもらうことです。自分もこの催眠術にかかりたくはない。:) そして、CANVASはカッコイイ!というのが私の感想です。 わ、わかったような気がします ))) Aleksey Ivanov 2018.03.03 17:26 #44 Nikolai Semko:コードを若干変更しました。回転する重心は2つでしたが、今は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(); そして、OnTickで10:00に色をグレーに変え、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で、キャンバスを作成します。 そして、OnTickで10:00に色をグレーに変え、11:00に再び元の状態に戻す必要があります。 うまくいかないんです。 質問です。 キャンバスやフレームの色を変更するにはどうすればよいですか。オブジェクト名の参照はできません。 ありがとうございます。canvas.Rectangleはオブジェクトではなく、ピクセルの束を描画するためのコマンドです。銃声と同じで、一発で終わり、さようならです。フィードバックがないんです。 Rashid Umarov 2018.03.23 08:00 #50 CCanvasクラスについて 解説した記事があります。グラフィカルなオブジェクトの透過性を実装 すること、そこに解決策があるはずです。 123456789101112...93 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
コードを若干変更しました。回転する重心は2つでしたが、今は4つになっています。
コードを若干変更しました。回転する重心は2つでしたが、今は4つになっています。
素晴らしい
お客さんがお金を払わないように催眠術をかけるのはいいことだ
その過程を楽しむことです。
すごい
クライアントがお金を払わないように催眠術をかけるのは良いことです。
一番良い方法は、お客様に催眠術をかけて、損得を意識させず、ただそのプロセスを楽しんでもらうことです。
自分もこの催眠術にかかりたくはない。:)
そして、CANVASはカッコイイ!というのが私の感想です。
わ、わかったような気がします )))
コードを若干変更しました。回転する重心は2つでしたが、今は4つになっています。
そこに25番目の枠を設けて、「こんなロボットを買ってください、こんなロボットを買ってください」という「仕込み」のオファーもすると、一気に超お得な展開になりますよ。
こんなロボットを買ってください、こんなロボットを買ってください...」という「植物」のオファーで25コマ目が必要!そうすれば、超お得な展開になるはずです。
完了しました。
完了しました。
いいね!きっと遠くへ行けるはずだ!
OnInitで、キャンバスを作成します。
そして、OnTickで10:00に色をグレーに変え、11:00に再び元の状態に戻す必要があります。
うまくいかないんです。
質問です。
キャンバスやフレームの色を変更するにはどうすればよいですか。オブジェクト名への言及がありません。
ありがとうございました。
OnInitで、キャンバスを作成します。
そして、OnTickで10:00に色をグレーに変え、11:00に再び元の状態に戻す必要があります。
うまくいかないんです。
質問です。
キャンバスやフレームの色を変更するにはどうすればよいですか。オブジェクト名の参照はできません。
ありがとうございます。
canvas.Rectangleはオブジェクトではなく、ピクセルの束を描画するためのコマンドです。銃声と同じで、一発で終わり、さようならです。フィードバックがないんです。
CCanvasクラスについて 解説した記事があります。グラフィカルなオブジェクトの透過性を実装 すること、そこに解決策があるはずです。