libro
www.tuyano.com
App InventorによるAndroid開発入門

CameraとCanvsで写真をとって加工しよう! (1/5)

作成:2011-05-23 07:56
更新:2011-05-23 07:56

■CameraとCanvasの連携

App Inventorには、標準でカメラを利用するためのCameraという部品がついています。これは、これ自身がカメラを利用するというわけではなくて、カメラのアプリを起動するためのものです。

当初は、本当にただカメラを起動するだけで、「一体、どうするんだよこれ?」という感じでしたが、App Inventor 1.1より、「カメラで撮影すると呼び出されるイベント」というのが用意されています。このイベントを利用することで、撮影すると自動的にカメラが終了し、用意されたイベントの処理を実行させることができるようになりました。このイベントには、撮影されたイメージも引数に渡されるので、それを使ってそのまま撮影イメージをアプリの中で利用できるようになります。

撮影したイメージを画面に表示し利用するのに用いるのは、Canvasです。Canvasは前に一度使いましたが、App Inventor 1.1では更に機能強化されています。ようやく、イメージの保存ができるようになったのです! これでやっとCanvasも実用になりますね。

両者を連携する際の基本的な考え方としては、以下のようになります。

1. Canvasは、そのまま画面に配置しておきます。Cameraもアプリのデザイン時に用意しておきます。

2. ボタン(1つ目)を用意し、タッチしたらCameraを起動します。

3. Cameraの撮影イベントを用意し、そこで作成されたイメージをCanvasのイメージに設定する処理を用意します。

4. もう1つボタン(2つ目)を用意し、Canvasのイメージをファイルに保存する処理を用意します。

――ざっとこんな感じで良いでしょう。ただ、単純にCanvasに表示してそのまま保存するだけではつまらないので、画面をタッチして描画をしたりする処理なども用意しておくことにしましょう。ここでは、Canvasに以下の2つのイベント処理を用意しておきます。

・クリックする――テキストを入力するダイアログが開き、何か書くと、クリックした場所にそのテキストが描かれる。

・ドラッグする――円を連続して描いてドラッグした通りに図形を描く。

この他、テキストの入力やメッセージ表示などを行うため、Notifierも利用しましょう。Notifierは既に何度も登場していますが、今回はメッセージの表示だけでなく、「ユーザーからのテキストの入力」にも使うことができます。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「App InventorによるAndroid開発入門」に戻る