私たちの世代は、記念、記録と言ったら写真(子供の頃はモノクローム、ですよ)と紙のアルバムでした。初めてビデオカメラを「担いだ」(注)のは、初めて米国に駐在した1991年のことと記憶しています。
注:当時先端のSONYホームビデオカメラでも文字通り、担ぐしかありませんでした。
それから時は流れ、(私の場合)ガラケーの写メ(640x480)、デジカメ(1,600x1,200)へと発展し、現在のスマホのカメラは画素3,264x2,448(デジカメの6倍以上、なんとガラケーの26倍!)まで発展してきました。昔のようにフィルム代や残フィルム数を気にすることがなくなった反面、バシバシとるのでイメージファイルの管理が大変になってきていることも確かです。
そんなわけで、昭和生まれ、育ちの私として、PC内に散らばった画像を「昔のアルバムのように纏めて管理できるようなソフトがあったらいいな」と考えたのは自然な流れでした。(詳細は「【GDI+】うへぇ、広いなぁ」参照)
それではいよいよプログラミングに入ります。
↑の「したいこと」(要求仕様)をブレークダウンして、具体化してゆきます。
(1)オブジェクトプロパティは、画像データを持つ「写真」と、それを複数保持する「アルバム」に分かれます。
(2)動作(メソッド)は、「写真を探す」(画像ファイルの追加、削除)「アルバムに差す」(ファイルの読み込み)「一覧で眺める」(サムネイル表示)「手に取ってよく見る」(単一画像表示-以下「標準表示」といいます)「思い出等忘れないよう備忘を裏に書く」(画像データに関連付けられたテキストデータ)「アルバムを保存する」(アルバムファイルとして纏めて保存)ということになるでしょうか?
(3)↑の(1)(2)から、写真は「フルパスファイル名」+「画像データ」+「コメントテキストデータ」を単位とするクラス、アルバムクラスは「台紙を「SDIウィンドウ」+「仮想ウィンドウ」を前提に、GDI+を使った各種「表示機能」と写真クラスのオブジェクトの管理機能を持たせればよい、と思いました。
当時はまだGDI+をよく分かっていなかったので、先ずはこのお勉強を始め、その成果を「【GDI+】ブログ」に書き記したこと、ご存じの通りです。
次回はアルバムソフトの最小単位である「写真(CPHOTO)クラス」から始めます。