ライブラリ: イージーキャンバス - ページ 13 1...678910111213141516171819 新しいコメント Oleksii Chepurnyi 2020.12.29 05:49 #121 Mighty7:背景をすべて消し、新しいものを作り、塗装するには時間がかかりすぎる。 それほどでもない。構築には多くの時間がかかる。 状態をメモリに保持しているので(要素の位置や色など)、たとえば要素を移動させたい場合は、その座標を変更してキャンバスを消去し、新しい状態を描画します。視覚的には、要素の数が多くても光速に見えます ) Nikolai Semko 2020.12.29 06:57 #122 Mighty7:私のキャンバスはフルスクリーンなので、それはうまくいきません。これはティックチャートのようなものなのですが、背景をすべて消して構築し、すべてを新しくペイントするには時間がかかりすぎるため、コンテンツを左(たとえば8ピクセル)に移動し、新しい8ピクセル(x方向に8ピクセル、高さいっぱい)だけを新しいデータで描画する必要があります。MoveCanvasでキャンバスを左に8ピクセル移動させようとしたところ、うまくいきましたが、左から8ピクセルの幅が削除され、右から8ピクセルが追加されるようにサイズを変更することができません。お分かりいただけたでしょうか? Mighty7: キャンバスがフルスクリーンなので、うまくいきません。ティックチャートのようなものなのですが、背景を完全に消して、すべてを新しく構築して描くには時間がかかりすぎますので、コンテンツを左(たとえば8ピクセル)に移動して、新しい8ピクセル(x方向に8ピクセル、高さいっぱい)だけを新しいデータで描画する必要があります。MoveCanvasでキャンバスを左に8ピクセル移動させようとしたところ、うまくいきましたが、左から8ピクセルの幅が削除され、右に8ピクセルが追加されるようなリサイズができません。お分かりいただけたでしょうか? わかりました。バージョン1.42をダウンロードしてください。 しかし、垂直方向のリサイズを制御する必要があります。 わかりました。自分でバージョン1.42をダウンロードしてください。 しかし、垂直スケールの変更を制御する 必要があります。 #include <Canvas\iCanvas.mqh> //https://www.mql5.com/ja/code/22164 input int shift = -1; //+------------------------------------------------------------------+ int OnInit() { EventSetMillisecondTimer(100); Canvas.Erase(0x00FFFFFF); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnTimer() { Canvas.FillCircle(rand()%_Width,rand()%_Height, 10+rand()%100,Canvas.Grad(rand()/32767.0)&0x80FFFFFF); Canvas.ShiftCanvas(shift); Canvas.Update(); } //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) { return(rates_total); } void ShiftCanvas(const int _shift=-1, uint bckgr = 0x00FFFFFF) { // キャンバス全体を左にシフトするか(x は負の値)、次のようにシフトします。 // 右に移動する(x は正の値)。キャンバス自体はそのままですが、すべてのピクセルがシフトされます。bckgr は // シフトの方向に応じて、新しく作成されたストライプを左または右に塗りつぶす色。 if (_shift==0) return; int _Shift = Fabs(_shift); if (_Shift>=m_width) { ArrayInitialize(m_pixels,bckgr); return;} int start = (_shift>0)?0:-_shift; int count = m_width-_Shift; int offset= (_shift>0)?0:count; for (; start<m_height*m_width; start+=m_width, offset+=m_width) { ArrayCopy(m_pixels,m_pixels,start+_shift,start,count); ArrayFill(m_pixels,offset,_Shift,bckgr); } } ファイル: iCanvas.mqh 50 kb TestShiftCanvas.mq5 2 kb Mighty7 2020.12.29 19:44 #123 素晴らしい。ありがとうございました。 Nikolai Semko 2020.12.30 00:02 #124 Mighty7: 素晴らしい。ありがとうございます。 問題ありません😊。 Mighty7 2021.01.01 19:37 #125 Nikolai Semko: 問題ありません😊。 チャームのように動作しますが、完全なものにするために、Y軸(南北)で、シフトも実装することは可能ですか?これらの方向にもスクロール/シフトする必要があります。 Nikolai Semko 2021.01.01 21:35 #126 Mighty7:それはチャームのように動作しますが、それを完了させるために、Y軸(北/南)で、シフトも実装することは可能ですか?これらの方向にもスクロール/シフトする必要があります。 わかりました。やってみます。 Nikolai Semko 2021.01.02 04:19 #127 Mighty7:それはチャームのように動作しますが、それを完了させるために、Y軸(北/南)で、シフトも実装することは可能ですか?これらの方向にもスクロール/シフトする必要があります。 完了 バージョン1.43 ファイル: TestShiftCanvas.mq5 2 kb iCanvas.mqh 54 kb Mighty7 2021.01.04 11:47 #128 Nikolai Semko : げた 1.43を参照 本当に素晴らしい。本当にありがとう。 編集:x=-1,y=0がシフトしていないので、正しく動作していません。 Nikolai Semko 2021.01.04 22:08 #129 Mighty7: 本当に素晴らしい。本当にありがとう。 編集:x=-1,y=0がシフトしていないので、正しく動作していません。 ありがとう。修正しました。 ファイル: iCanvas.mqh 52 kb Mighty7 2021.01.05 01:28 #130 Nikolai Semko:ありがとう。修正しました。 ありがとう。これで完璧だ。最高の仕事だ。 1...678910111213141516171819 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
背景をすべて消し、新しいものを作り、塗装するには時間がかかりすぎる。
それほどでもない。構築には多くの時間がかかる。
状態をメモリに保持しているので(要素の位置や色など)、たとえば要素を移動させたい場合は、その座標を変更してキャンバスを消去し、新しい状態を描画します。視覚的には、要素の数が多くても光速に見えます )
私のキャンバスはフルスクリーンなので、それはうまくいきません。これはティックチャートのようなものなのですが、背景をすべて消して構築し、すべてを新しくペイントするには時間がかかりすぎるため、コンテンツを左(たとえば8ピクセル)に移動し、新しい8ピクセル(x方向に8ピクセル、高さいっぱい)だけを新しいデータで描画する必要があります。MoveCanvasでキャンバスを左に8ピクセル移動させようとしたところ、うまくいきましたが、左から8ピクセルの幅が削除され、右から8ピクセルが追加されるようにサイズを変更することができません。お分かりいただけたでしょうか?
キャンバスがフルスクリーンなので、うまくいきません。ティックチャートのようなものなのですが、背景を完全に消して、すべてを新しく構築して描くには時間がかかりすぎますので、コンテンツを左(たとえば8ピクセル)に移動して、新しい8ピクセル(x方向に8ピクセル、高さいっぱい)だけを新しいデータで描画する必要があります。MoveCanvasでキャンバスを左に8ピクセル移動させようとしたところ、うまくいきましたが、左から8ピクセルの幅が削除され、右に8ピクセルが追加されるようなリサイズができません。お分かりいただけたでしょうか?
わかりました。バージョン1.42をダウンロードしてください。
しかし、垂直方向のリサイズを制御する必要があります。
わかりました。自分でバージョン1.42をダウンロードしてください。
しかし、垂直スケールの変更を制御する 必要があります。
素晴らしい。ありがとうございます。
問題ありません😊。
チャームのように動作しますが、完全なものにするために、Y軸(南北)で
、シフトも実装することは可能ですか?これらの方向にもスクロール/シフトする必要があります。
それはチャームのように動作しますが、それを完了させるために、Y軸(北/南)で
、シフトも実装することは可能ですか?これらの方向にもスクロール/シフトする必要があります。
わかりました。やってみます。
それはチャームのように動作しますが、それを完了させるために、Y軸(北/南)で
、シフトも実装することは可能ですか?これらの方向にもスクロール/シフトする必要があります。
完了
バージョン1.43
げた
1.43を参照
本当に素晴らしい。本当にありがとう。
編集:x=-1,y=0がシフトしていないので、正しく動作していません。
本当に素晴らしい。本当にありがとう。
編集:x=-1,y=0がシフトしていないので、正しく動作していません。
ありがとう。修正しました。
ありがとう。修正しました。
ありがとう。これで完璧だ。最高の仕事だ。