2010年10月17日日曜日

課題2:スライドショーを作成する

えー、課題の2個目です。
いきなり敷居が高くなりますが、スライドショーを作成してみましょう。
プログラム的には、パスは固定で、任意のフォルダの画像を連続で表示する、というものになります。
とりあえず、壁紙のパスをソースでは設定していますが、まあ、自分の画像ファイルならどこでもいいと思います。

で、敷居が高いので、母体ソースを添付します。
ここからダウンロードしてください。

一応、コメントしていますが、この母体に関数(メソッド)を追加して、gtk.ImageであるimgSlideShowに画像を連続で表示していきます。
今はタイムアウトの時間を2秒で設定していますが、まあ、任意の秒数にしてみてもいいでしょう。

解答では、画面の横幅を固定して、画像のアスペクト比に合わせてウィンドウの高さを変更する、というのを予定していますが、まあ、そこまでは作りこまなくともよいです。
可能なら、挑戦してみましょう。
ここが参考になります。

とりあえず、完成後の画像イメージ。


まあ、正直、アスペクト比を保持したままのイメージ表示は敷居が高いので、画像ファイルをイメージとして表示する、までを目標にやってみてください。
なお、サンプルソースを見てもらえば解ると思いますが、画像ファイルのパスはself.imagePathにリストとして保持しています。
フォルダ階層をたどるサンプルにもなってますので、今後、使い途があるかも知れません。
まあ、これはこれで調べればすぐに解る類のものなのですが、今回は関数化というのをテーマとしたかったので、そこはサンプルコードとして出してしまいます。

そんじゃま、また、そのうち解答編で。

0 件のコメント:

コメントを投稿