• ベストアンサー

C#でPictureBox内での図形移動について

例えばPictureBoxに縦棒グラフを10本描画し、それが時間の経過と共に全体的に1本づつ左に移動して右端には最新の情報が表示されている様なものが作りたい。 それで右の9本をコピーして左端に移動(上書き)し、右端に新しい棒グラフを描画すれば良いと思っているのですが、図形を移動する方法があれば教えて下さい。 コピーする領域とコピー先の基準点を設定して呼び出すだけのメソッドを期待して探したのですが見当たりませんでした。 TranslateTransform()がそれっぽい感じもするのですがよく分かりません。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

描画はどのように行っているのでしょう ピクチャーボックスなどへ直接となると難しいと思います Bitmapオブジェクトを2個と描画用のGraphicsオブジェクト用意します Bitmap bmSrc, bmDraw; Graphics grBack; 初期化イベントなどで bmSrc = new Bitmap( 幅, 高さ ); grBack = Graphics.FromIamge( bmSrc ); // グラフの描画処理を追加 // bmSrcをgrBackから分離 grBack.Dispose(); bmDraw = (Bitmap)bmSrc.Clone(); pictureBox1.Image = bmDraw; 更新イベントで grBack = Graphics.FromImage( bmSrc ); // スクロール幅が16ドットの場合 grBack.DrawImage( bmDraw, new Point( -16, 0 ) ); // ココに右端の描画処理を追加 // bmSrcをgrBackから分離 grBack.Dispose(); bmDraw = (Bitmap)bmSrc.Clone(); pictureBox1.Image = bmDraw; といった具合で

mark225
質問者

お礼

お教え頂いた方法でやってみます。 どうも有り難うございました。

関連するQ&A