第4回 カメラ機能を使ってカードを作ろう90Xi専用ゲームiアプリ開発講座(2/2 ページ)

» 2004年11月09日 13時15分 公開
[澤橋辰典・武上将樹,ITmedia]
前のページへ 1|2       

画像を解析をしてカードにパラメーターを付加する

 画像の解析といっても、撮影した画像をすべて処理していたのでは時間がかかる。そこで、写真の中の1ピクセルを取得して、カードに個別の情報を持たせるためのパラメータを決定する。

 まずはrepaintで描画を行い、Graphics.getRGBPixel(int x, int y)で現在描画されている画面の任意の点のピクセルのRGB値を取得する。

int rgb = _canvas.getGraphics().getRGBPixel(120, 120);

 取得したRGB値は、0xRRGGBBの形式の整数値である。以下は、RとGとBを乗算して、その値から1〜9の値を導いている例である。

int r = (rgb >> 4) & 0xFF;
int g = (rgb >> 2) & 0xFF;
int b =  rgb    & 0xFF;
new_cp = r*g*b % 9 + 1;

 ほかにも、特定の色に反応する処理をしたい場合は、RGBのそれぞれの比を算出し、Bが強ければ青、RとGが強いが、Bが弱ければ黄色のように判定する方法が考えられる。

 解析が済んでパラメータが決定したら、カメラで撮影した画像をゲームで使用するカードの大きさに切り抜いて保存する。以下は、Graphics.getPixelsで画面中央から50×30のピクセルを取得し、そのピクセル配列を元に、カード用の画像を作成する方法である。

int[] pixs = _canvas.getGraphics().getPixels(
(Display.getWidth()-50)/2,
(Display.getHeight()-30)/2,
50, 30, null, 0); 
img[picture_count+9] = Image.createImage(50, 30, pixs, 0);
card_pow[picture_count] = new_cp;
picture_count++;

エミュレータや実機での動作確認をしよう

 今回のソースはここからダウンロードできる。実際にコンパイルして実行し、カード生成モードへ遷移してみる。

  • タイトルからソフトキー2(右)→デッキメニューから遷移

 エミュレータで写真撮影(Camera.takePicture())を行うと、ファイル参照のウィンドウが表示されるので、176×144の画像を選択する。この画像を撮影された画像として動作確認を行える。

 今回のプロジェクトフォルダにcamフォルダを追加した。中には、green.jpgとpink.jpgが入っている。エミュレータでそれぞれの画像を選択すると、カードのパラメータは6と2になる。ソースを実際の端末にダウンロードして動作させると、写真撮影時にカメラが起動され、撮影した画像によりパラメータが変化する。

次回はスクラッチパッドを使って記憶領域にデータを保管する

 次回は、スクラッチパッド(ローカルの保存領域)を利用して、撮影データを保存、読込する処理と、画像をネットワークからダウンロードして保存、読込する処理を解説する。

筆者紹介──澤橋辰典・武上将樹

 ケータイアプリ(iアプリ/EZアプリ/Vアプリ)のNo1ポータルサイト「アプリ★ゲット」を運営するスパイシーソフトに勤務。

 澤橋は学生時代、iアプリのコンテストでゲームアプリやツールアプリを制作し、入賞経験がある。また、所属していたサークルの後輩に、ものづくりの楽しさやアプリの奥義を授け、その後輩も入賞していることから、自らをiアプリエヴァンジェリスト(伝道者)と呼んでいる。現在も大手企業にOEM提供しているアプリの開発を行っている。

 武上は、イーアクセスとの共同事業「どこでも読メール」や、各社にOEM提供しているアプリメールサービスなどで、主にサーバサイドやデータベースまわりの開発を担当している。ゲームアプリは、もっぱらプレイ専門。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月26日 更新
  1. 楽天モバイルのスマホが乗っ取られる事案 同社が回線停止や楽天ID/パスワード変更などを呼びかけ (2024年04月23日)
  2. シャープ、5月8日にスマートフォンAQUOSの新製品を発表 (2024年04月24日)
  3. スマホを携帯キャリアで買うのは損? 本体のみをお得に買う方法を解説 (2024年04月24日)
  4. 貼り付ければOK、配線不要の小型ドライブレコーダー発売 スマート感知センサーで自動録画 (2024年04月25日)
  5. Vポイントの疑問に回答 Tポイントが使えなくなる? ID連携をしないとどうなる? (2024年04月23日)
  6. 通信品質で楽天モバイルの評価が急上昇 Opensignalのネットワーク体感調査で最多タイの1位 (2024年04月25日)
  7. 中古スマホが突然使えなくなる事象を解消できる? 総務省が「ネットワーク利用制限」を原則禁止する方向で調整 (2024年04月25日)
  8. ドコモ、「Xperia 10 V」を5万8850円に値下げ 「iPhone 15(128GB)」の4.4万円割引が復活 (2024年04月25日)
  9. 「iPhone 15」シリーズの価格まとめ【2024年4月最新版】 ソフトバンクのiPhone 15(128GB)が“実質12円”、一括は楽天モバイルが最安 (2024年04月05日)
  10. スマートグラス「Rokid Max 2」発表 補正レンズなくても視度調節可能 タッチ操作のリモコン「Rokid Station 2」も (2024年04月25日)
最新トピックスPR

過去記事カレンダー

2024年