ホーム > 製品情報 > SophiaFramework UNIVERSE > チュートリアル > BREW Cartoon

BREW Cartoon アプリ 〜 BREW C++ / GUI プログラミング 〜

ビットマップ画像の描画

リソースファイル

画像のリソースファイルを作成します。

画像の読み込み

画像を読み込んで、ポインタを返す関数です。

//  画像番号に対応するビットマップをリソースからロードして返す。
// index は画像の番号(1〜4)
SFBBitmapSmp Cartoon::LoadBitmap(SIntN index)
{
    if (1 <= index && index <= 4) {
        SFBShellSmp shell = SFBShell::GetInstance();
        
        // 画像を読み込み、ポインタを返す。
        return shell->LoadResBitmap(CARTOON_RES_FILE, IDR_PICT1 + index - 1);
    }
    else {
        return SFBBitmapSmp(NULL);
    }
}

この関数の使い方は以下の通りです。

// メンバ変数の宣言
class Cartoon : public SFRApplication {
    // 表示するビットマップを保持
    SFBBitmapSmp m_bitmap;
    ...

}

// キーハンドラ
HANDLER_IMPLEMENT_BOOLEVENT(Cartoon, OnKey, event)
{
    ...
    m_bitmap = LoadBitmap(m_pict_index); // ビットマップをロード
    ...
}

ビットマップ画像の表示

読み込んだビットマップは SFXGraphics::DrawBitmap 関数で表示します。

// 描画ハンドラ
HANDLER_IMPLEMENT_VOIDRENDER(Cartoon, OnRenderContent, graphics) {
    ...
	// SFXGrid は座標を表すシェイプクラス
    graphics->DrawBitmap(m_bitmap, SFXGrid(10, 10)); 
    ...
}

補足:リソースファイル

リソースファイルとは、プログラム内で使用する画像や文字列(リソース)を納めたファイルです。

リソースエディタの使い方

リソースを扱うには BREW SDK に付属している「BREW リソースエディタ」を使用します。

リソースエディタ画面 1. BREW リソースエディタを起動し、[リソース]-[新規オブジェクト] を選択します。
画像設定 2. リソースに使用する画像ファイルを [データ] に入力します。

3. 画像の [名前] を入力します。
(プログラムからリソースを参照するときのマクロ名)

4. 2と3を繰り返して、4枚のビットマップを登録します。

5. [ファイル]-[名前を付けて保存] でこのファイルを保存します。
ファイル作成 6. [作成]-[リソーススクリプトのコンパイル] を選択するとcartoon.bar ファイル と cartoon.brh ファイルが作成されます。

7. cartoon.brh ファイルをインクルードします。
// cartoon.brh
#ifndef CARTOON_BRH
#define CARTOON_BRH

// WARNING: DO NOT MODIFY THIS FILE
// AUTO-GENERATED BY BREW Resource Editor

#define CARTOON_RES_FILE "cartoon.bar"

#define IDI_PICT1               5001
#define IDI_PICT2               5002
#define IDI_PICT3               5003
#define IDI_PICT4               5004

#endif  // CARTOON_BRH