はじめに
この記事は、まじめなC++アプリケーション開発の記事ではありますが、まず最初にこのビデオをご覧ください。
JR中央線の御茶ノ水駅を出ると、神田川上に聖橋という大きな橋がかかっています。ここから秋葉原方面を望むと、川に鉄道、地下鉄など、立体的な風景を楽しむことができます。
とある休日、この聖橋から撮影した写真を見ていると、どこかが変化していることに気が付きます。
この写真を表示しているアプリケーションは、C++Builderを使って作成しています。単なるイメージビューワーと思いきや、テレビ番組などでよく見かける「アハ(aha)体験」ができるアプリだったのです。
「アハ(aha)体験」。ネットで調べてみると「今まで分からなかったことが分かるようになったときの体験」を意味しているようです。今回は、画像の一部がじわじわと変化するアプリケーションをC++言語を使って作成してみようというわけです。
FireMonkeyを使おう
C++Builder XE2で効率的にグラフィック処理
C++で画像処理。大層なコードが、このあとで待ち構えていると想像されているのではないでしょうか?
今回使用するツールは、C++Builder XE2です。最初のバージョンが発売されてから今年で15周年だそうで、もはやロングセラーツールなのですが、ユーザーの方に手放せない理由を聞くと、ほとんどの方が「コンポーネントベースの開発」と答えます。
ポピュラーなC++開発環境としては、Visual C++がありますが、最大の違いは、Visual Basicのようなドラッグ&ドロップ操作でC++アプリケーションが開発できる点です。ただし、フルC++なので、Visual Basicのような制約もありません。
2012年5月現在の最新バージョンは「XE2」です。このバージョンからは、Windowsに加えてMac OS X向けの開発もできるようになりました。もう一つ大きな機能強化は、FireMonkeyというフレームワークが搭載されたことです。
このフレームワークは、CPU/GPUネイティブの高品質グラフィック(2Dだけでなく3Dにも対応しています)を扱えるマルチプラットフォーム対応のコンポーネントフレームワークで、複雑なグラフィック処理を、コンポーネントベースの簡単な操作で実装できます。
FireMonkeyは、どのエディションのC++Builder XE2にも搭載されています。一番廉価なC++Builder XE2 Starterにも含まれます(Mac OS X向けの開発機能はこのエディションには含まれません)ので、比較的容易にこの最新フレームワークを使ってみることができます。
用意するもの
では、アプリケーションを作成するにあたり、以下のものを準備しましょう。
- C++Builder XE2(どのエディションでも構いません)がインストールされている PC
- 状態が変化する前と後の画像2枚