tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル 矩形領域の移動
投稿日: 2006/04/29(Sat) 06:48
投稿者うらしまん
[OSのVer]:Windows XP   [VBのVer]:VB.NET   2005

すいません。初心者です。

フォーム上でなんらかの画像を持った四角の領域を動かしたいのですが、
1回に付き、1dotだけ動かす制限で、出来るだけはやく動かしたいと考えています。
これまで3通りを試しましたがいずれも遅くて困っています

@四角の領域をPictureBoxで表示してPictureBoxをTimerコントロールイベントで動かす。

PictureBox1.Left = PictureBox1.Left + 1
をただひたすら繰り返す。

ACopyFromScreenを使ってTimerコントロールイベントでコピーする。


        g.CopyFromScreen(New Point(x1, y1), New Point _
             (x2, y2), New Size(w, h))

B一旦、クリップボードに保存して、Timerコントロールイベントで塗りつぶす。

    Using G2 As Graphics = Graphics.FromImage(Bmp)
        g.CopyFromScreen(New Point(x1, y1), New Point _
             (x2, y2), New Size(w, h))
        Clipboard.SetImage(Bmp)
    end using

===================================================

    Dim bmp0 As Bitmap
    bmp0 = Clipboard.GetImage
    Dim myTextureBrush As New TextureBrush(bmp0)
    g.FillRectangle(myTextureBrush, x2, y2, w, h)


で、256×256ドットの領域を動かしたときにPentium4 2.6GHzのPCで
1秒あたりの移動は@51dot/s、A20dot/s、B24dot/sとなり、
画面のリフレッシュレートでフレーム1dotを超えられません。
(いずれもビルトしてから実行しています)

もっと早く動かす手段が有りましたら教えていただけませんでしょうか。
よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。