2011-08-07 19 views
0

TextBoxにアニメーション画像を描画したいのですが、私はGoogleの問題ですが、ExtRichTextBoxのようなTextBoxで固定画像を描画する方法についていくつかの例があります。TextBoxにアニメーション画像を描画する

+0

どのようなTextBoxですか? Windowsフォーム? WPF? Silverlight? WebForms? –

+0

私はWindowsフォームでそれを使用したい –

答えて

1

あなたが言ったように固定画像を描画することができれば、固定画像をある間隔で変更するだけです。私はあなたがすでに固定画像ビットを行うことができると仮定しているので、あるフレーム間隔で新しいフレームを使用して画像を再描画するタイマーを設定するだけです。

private void SomeTimer_Tick(...) 
{ 
    UpdateAnimation(); 
} 

private int _frameCount; 
private const int MaxFrames = //whatever, you need to determine this 
private void UpdateAnimation() 
{ 
    _frameCount = (_frameCount + 1) % MaxFrames; 
    var image = GetFrame(_frameCount); 
    // draw the new frame 
} 

private const int FrameWidth = // again, you need to determine this 
private const int FrameHeight = // again, you need to determine this 
private Bitmap GetFrame(int frame) 
{ 
    // assumes frames are lined up horizontally on a sheet 
    var rect = new Rectangle(frame * FrameWidth, 0, FrameWidth, FrameHeight); 

    // you could create the frames up front to avoid many calls to Clone() 
    return MySpriteSheet.Clone(rect, MySpriteSheet.PixelFormat); 
} 
+0

あなたの答えをありがとうが、アニメーションイメージを描画する他の方法はありませんか?なぜなら、私はYahooのメッセンジャーの会話形式のような環境でそれを使いたいからです。そして、画像の数は単なるものではありません。 –

+0

私はあなたが何を求めているのか分かりません。もちろん、フレーム数は1以上です。それ以外の場合はアニメーションではありません。通常、アニメーションの各フレームを含む1つのイメージを持ち、私の例のように選択的にフレームを取得します。 WPFにはアニメーションクラスが用意されていますが、これは簡単にできますが、ある時間間隔で画像を変更するタイマーを設定するのは簡単です。 –

+0

いくつかのgif形式の画像があることをお勧めします。 (メッセンジャーの会話形式の仕事のように)。今、私はC#環境でこのような作業をしたいと思います。それをする理由は何ですか? –