SmallBasicでプログラミング (4) Flickrと連携して写真を表示する
Small Basic は画像ファイルの扱いが非常に簡単にできるようになっています。
Small BasicではImageListクラスを使用して画像ファイルを取り扱います。
ImageListとは、メモリ上に作られる、画像イメージ用の領域です。
最も簡単な使い方は、ImageList.LoadImage() を使って画像ファイルをメモリ上にロードし、それをGraphicsWindowに出力する方法です。
例えば、C:\temp\mypic.jpg を画面に表示させたいのであれば、以下のような簡単なプログラムですぐに実現することができます。
(実行結果例)
なお、ファイル名の代わりにインターネット上のURLを指定することも可能です。
上記のプログラム上では途切れてしまっていますが、
https://www.microsoft.com/japan/visualstudio/content/images/2010landing_msdnlogo_sm.png
の画像を直接指定しています。
複数の画像ファイルを扱う場合には、ImageListに対して複数の画像ファイルを格納する方法を使います。
配列と合わせて使うことで、以下のようなプログラムで簡単に複数のファイルを扱うことができます。
なお、ここではC:ドライブのTempフォルダーに mypic1.jpg ~ mypic4.jpg の4つのファイルをあらかじめ用意して実行しました。
(実行結果例)
次はSmall Basicの特徴的な機能でもある、Flickrと連携した画像ファイルの扱い方を紹介します。
Flickrとは、ご存知の方も多いと思いますが、画像ファイルを手軽にシェアするためのコミュニティサイトです。
www.flickr.com
Small Basicでできることは、このFlickrサイトから画像をほとんどランダムに持ってきて、それを自分のプログラム上に活用することのみです。
アップロードしたりといった機能はいまのところありません。
なお、以下のプログラムを実行するにあたって、Flickrのアカウントを作成したり、サイトにWeb ブラウザでアクセスしたりする必要は全くありません。
Small Basicには Flickr.GetRandomPicture() というオペレーションがあります。これに対してタグ名を与えると、そのタグ名に関連のある画像がFlickrのサイトからランダムに選択されて、そのURLが返されます。
例えば以下の例では、「Seattle」に関係のある写真がFlickrからダウンロードされて表示されます。
(実行結果例)
ここではもう一歩進めて、自分の好きな系統の写真がランダムにFlickrからダウンロードされて数秒おきに表示されるようなプログラムにしてみましょう。
せっかくなので、画像ファイルの大きさに合わせてグラフィックウインドウ画面の大きさも調整するようにして見栄えを良くします。
また、最初にテキストウインドウを使って「好きなタグ名を入力してください」と表示し、タグ名の入力を促すようにしましょう。
(実行結果例)
いかがでしょうか。
もしも他のプログラミング言語で、普通にFlickrの提供する Web API などを使ってこのようなプログラムを作るとなると、結構な時間がかかると思いますが、Small Basicではこのような機能は最初から、簡単に使えるような形で搭載されています。
入門用にはもちろん、こういった機能を使って息抜きにちょっとしたプログラムを作るのも悪くないかもしれませんね。