C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: PictureBoxでgifファイル(アニメーション)の表示


(過去ログ 72 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■42280 / inTopicNo.1)  PictureBoxでgifファイル(アニメーション)の表示
  
□投稿者/ hs (159回)-(2009/10/11(Sun) 20:58:13)

分類:[VB.NET/VB2005 以降] 

VS2008 VB
いつもお世話になっております。

メインフォームのPictureBox1にgifファイルのアニメーション画像を表示させています。
gifファイルは8コマ構成で、1コマ0.1秒表示の間隔で作成しました。

ところが作成しているアプリに表示されると2コマとびで表示されてしまいます。
PictureBox1のImageを選択する際に出るPopup(イメージの選択)画面でも同様に表示されています。

また、おかしな現象で、仮に別のフォームを作成、同様にPictureBox2にgifファイルをセットしフォームを表示させると、
全8コマが正常に表示されます。
さらにその別フォームを表示されている間は、2コマとびに表示されていた最初のメインフォームのPictureBox1も8コマ表示されるようになります。
そして、別フォームを閉じるとまたPictureBox1は2コマとびの表示に戻ってしまいます。

なにか明示的な記述が必要になるのでしょうか?
宜しくお願いします。
引用返信 編集キー/
■42282 / inTopicNo.2)  Re[1]: PictureBoxでgifファイル(アニメーション)の表示
□投稿者/ Hongliang (478回)-(2009/10/11(Sun) 21:20:23)
ただ アニメーション GIF を PictureBox.Image に設定するだけだと、アニメーションには ImageAnimator クラスが使用されることになりますが、この ImageAnimator はあまりよいアニメーションを行ってくれません。
自分でタイマを使ってフレームを更新するようにした方が良いでしょう。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=41710&KLOG=71
こちらが参考になるのではないでしょうか。
引用返信 編集キー/
■42288 / inTopicNo.3)  Re[2]: PictureBoxでgifファイル(アニメーション)の表示
□投稿者/ 倉田 有大 (740回)-(2009/10/12(Mon) 01:06:13)
>1コマ0.1秒表示の間隔で作成しました

あまり高速だと、WPFアプリにしたほうがいいかも。
試していませんが改善されるかもしれません。

話し外れますが、
PictureBoxを20個ぐらいならべて、GIFアニメのImageを単純に渡して同時に動かしたらエラーはきました。
CPUやメモリーじゃなくなんらかのリソースくっちゃってたんでしょうね。
引用返信 編集キー/
■42311 / inTopicNo.4)  Re[3]: PictureBoxでgifファイル(アニメーション)の表示
□投稿者/ hs (160回)-(2009/10/12(Mon) 23:12:35)
No42282 (Hongliang さん) に返信
> 自分でタイマを使ってフレームを更新するようにした方が良いでしょう。

No42288 (倉田 有大 さん) に返信
> あまり高速だと、WPFアプリにしたほうがいいかも。

回答ありがとうございます。

現状は、Hongliangさんのいうとおりタイマーで画像の切り替えを行っております。
先日gifでアニメーションを作れる事を知りタイマー使うくらいなら一つのファイルを表示するだけでタイマーのPGを削除できると、
ためしにgifで表示を試したところでした。
PGはほんの数行ですが、あるよりないほうが良いかな程度で乗せ替えていたところでした。

やはり「画像の切り替え」を検索してもgifを表示するのではなくタイマーがヒットするという事は、今回の手法はこの質問のような事があるからなんですね。

http://bbs.wankuma.com/index.cgi?mode=al2&namber=41710&KLOG=71 を拝見しても、逆に面倒な事になりそうなだけでした;

という事で現状のタイマーを使ってのアニメーション表示を使う事にします。

ありがとうございました。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -