2011-08-12 1 views
0

誰かが私のダイアログベースのMFCプログラムでアニメーションを実装する特定の方法を提案できますか?私が追加しようとしているアニメーションは、機械パラメータの値を読み取り、それに応じてグラフィックの形状を変更する工作機械のようなものです。ほとんどの情報は、テキストファイルからパラメータの観点から読み込まれるため、アニメーションを機能させるだけで済みます。事前にあなたの助けのためのアニメーショングラフィックスの実装ダイアログベースのMFC

感謝。

+0

サイズとフレームレートによって異なります。 8 FPSでの64x64と60 FPSアニメーションでの800x600とは同じではありません。 – rodrigo

+0

私は400x480の画像をどんなfpsでも気にしません。しかし、それが私が描くものにどのような影響を与えますか?私は、グラフィックを変更する必要があるたびにOnPaint()関数をリフレッシュするためにInvalidate()を使用していました。 – Neophile

答えて

3

を描くに基づきます一般的に遅くても簡単ですが、より良いです。 OpenGLやDirectXははるかに高速ですが、プログラムするのが非常に難しいです。カイロなどの他の図書館も利用できます。

私は最も簡単な(多分GDI +)から始め、それがあなたのために十分に速いかどうかを確認することをお勧めします。

これを行うには、タイマーで描画するコントロールをInvalidate()するか、新しいデータを受け取ったときにInPaint()関数でグラフィック全体をペイントします。基本的な改善点は、新しいデータが画像に影響する領域のみを無効にすることです()。

コードが十分に速くないことがわかった場合は、戻って改善方法を尋ねます。具体的な例は、より有用な答えを得るのをより簡単にするでしょう。

+0

私は遅いか分からない。アニメーションはそれほど圧倒的ではありません。あなたがGDIを真剣に誤用しない限り、GDIとGDI +はおそらく十分に速いでしょう。 –

+0

私はそれを実装しようとしています。それがうまくいくことを望みます。私がどこかでつかまえたら、私はフォーラムの質問に落ちます。しかし、提案に感謝します。 乾杯。 – Neophile

+0

これは技術がより速いのはそれほど線形ではありません。それはグラフィックスボードに非常に依存します。 – sergiol

0

多くの記事があります。それらのほとんどは、まあ、GDIは、GDI +でもある、簡単ですが、醜い、非常に遅いデバイスコンテキストに

  1. http://www.codeproject.com/KB/GDI/flickerfree.aspx

  2. http://www.codeguru.com/cpp/g-m/bitmap/article.php/c4879

  3. http://www.codersource.net/mfc/mfc-gdi-plus/animation-control-mfc.aspx

+0

私はこれらを調べました。彼らは私が必要とするものを正確に持っていません。私はポジションプロットを使ってすべてを手作業で行う必要があると思います。 – Neophile

+0

ご返信ありがとうございます。 – Neophile

関連する問題