アプリ版:「スタンプのみでお礼する」機能のリリースについて

例えばPictureBoxに縦棒グラフを10本描画し、それが時間の経過と共に全体的に1本づつ左に移動して右端には最新の情報が表示されている様なものが作りたい。

それで右の9本をコピーして左端に移動(上書き)し、右端に新しい棒グラフを描画すれば良いと思っているのですが、図形を移動する方法があれば教えて下さい。

コピーする領域とコピー先の基準点を設定して呼び出すだけのメソッドを期待して探したのですが見当たりませんでした。

TranslateTransform()がそれっぽい感じもするのですがよく分かりません。

宜しくお願いします。

A 回答 (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;

といった具合で
    • good
    • 0
この回答へのお礼

お教え頂いた方法でやってみます。

どうも有り難うございました。

お礼日時:2011/09/21 09:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!