前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3
SFBImage
IImage インターフェースのラッパークラスです。
#include <SFBImage.h.hpp>
class SFBImage : public SFBBase;
SFMTYPEDEFWRAPPER(SFBImage)

継承図

SFBImage クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IImage

メンバ

パブリック関数
Void Draw( SInt32 x , SInt32 y )
画面上の指定した位置に画像を描画します。
Void Draw( SFXGridConstRef grid )
画面上の指定した位置に画像を描画します。
Void DrawFrame( SInt32 frame , SInt32 x , SInt32 y )
画面上の指定した位置で、画像内の任意のフレームを描画します。
Void DrawFrame( SInt32 frame , SFXGridConstRef grid )
画面上の指定した位置で、画像内の任意のフレームを描画します。
Void DrawOffscreen( SInt32 offscreen = 0 )
画像をオフスクリーンバッファとメインバッファのどちらに描画するかを指定します。 この関数は、IPARM_OFFSCREEN を指定して SFBImage::SetParm を呼び出した場合と同等の処理を行います。
Void GetInfo( AEEImageInfo* info )
画像に関する情報を取得します。
Bool HandleEvent( AEEEvent event , UInt16 wParam , UInt32 dwParam )
SFBImage オブジェクトのイベントハンドラです。
Bool HandleEvent( SFXEventConstRef event )
SFBImage オブジェクトのイベントハンドラです。
static
SFBImageSmp
NewInstance( AEECLSID id , SFCErrorPtr exception = null )
SFBImage インスタンスを生成します。
Void Notify( PFNIMAGEINFO notify , VoidPtr data = null )
SFBImage::SetStream による画像データの読み込み完了時に呼び出されるコールバック関数を登録します。
Void SetAnimationRate( SInt32 rate )
アニメーション レートをミリ秒単位で設定します。 IPARM_RATE を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetDisplay( SFBDisplaySmpConstRef display )
画像を描画するときに使う SFBDisplay インスタンスを設定します。 IPARM_DISPLAY を指定して meth.SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetDrawSize( SInt32 width , SInt32 height )
描画する画像のサイズを設定します。 IPARM_SIZE を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetFrameCount( SInt32 count )
画像内のフレームの数を設定します。 IPARM_NFRAMES を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetFrameSize( SInt32 width )
アニメーションをサポートしない画像形式 ( Windows BMP など ) 用に各フレームの幅を設定します。 IPARM_CXFRAME を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetOffset( SInt32 cx , SInt32 cy )
描画用オフセットを設定し、描画時の画像の原点を変更します。 IPARM_OFFSET を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetOffset( SFXGridConstRef grid )
描画用オフセットを設定し、描画時の画像の原点を変更します。 IPARM_OFFSET を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
Void SetParm( SInt32 param , SInt32 p1 , SInt32 p2 )
SFBIImage オブジェクトの画像関連パラメータを設定します。
Void SetStream( SFBAStreamSmpConstRef stream )
画像データをファイル、またはソケットからストリーム形式で読み込みます。 画像の読み込みが完了したときに、SFBImage::Notify で登録されたコールバック関数を呼び出します。
SFCError SetStream( SFXStorageConstRef storage )
画像データをファイル、またはソケットからストリーム形式で読み込みます。 画像の読み込みが完了したときに、SFBImage::Notify で登録されたコールバック関数を呼び出します。
Void Start( SInt32 x , SInt32 y )
指定した画像をアニメーション化します ( 画像の個々のフレームを繰り返し描画します )。
Void Start( SFXGridConstRef grid )
指定した画像をアニメーション化します ( 画像の個々のフレームを繰り返し描画します )。
Void Stop( Void )
SFBImage::Start 関数を使用して開始した画像のアニメーションを停止します。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBImage::Draw
画面上の指定した位置に画像を描画します。
[ public ]
Void Draw(
    SInt32 x   // 画像を描画する矩形の左上の X 座標
    SInt32 y   // 画像を描画する矩形の左上の Y 座標
);
[ public ]
Void Draw(
    SFXGridConstRef grid   // 画像を描画する矩形の左上の座標
);

使用例

リソースファイルから読み込んだ画像を描画します。

// リソースファイルから読み込むビットマップのリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp    shell     = SFBShell::GetInstance();
SFBImageSmp    image;
AEEImageInfo   imageInfo = {0};

// リソースファイルから画像を取得する
image = shell->LoadResImage(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

if (image != null) {
    // 画像の情報を取得する
    image->GetInfo(&imageInfo);

    // SFBImage オブジェクトが画像を持つかを確認する
    if (imageInfo.cx == 0) {
        TRACE("Failed to load image…!");
        image.Release();
    }
    else {
        // 画像を描画する
        image->Draw(0, 0);
    }
}

参照

BREW API IIMAGE_Draw | SFBImage::DrawFrame


SFBImage::DrawFrame
画面上の指定した位置で、画像内の任意のフレームを描画します。
[ public ]
Void DrawFrame(
    SInt32 frame   // フレーム番号
    SInt32 x       // 画像を描画する矩形の左上の X 座標
    SInt32 y       // 画像を描画する矩形の左上の Y 座標
);
[ public ]
Void DrawFrame(
    SInt32 frame           // フレーム番号
    SFXGridConstRef grid   // 画像を描画する矩形の左上の座標
);

使用例

リソースファイルから BREW 圧縮画像 ( BCI ) を読み込み、 任意のアニメーションのフレームを描画します。

// リソースファイルから読み込む BCI イメージのリソース ID
#define IDR_MY_ANIMATION  0x0001

SFBShellSmp    shell     = SFBShell::GetInstance();
SFBImageSmp    image;
AEEImageInfo   imageInfo = {0};

// リソースファイルから BCI イメージを取得する
image = shell->LoadResImage(MYRESOURCE_RES_FILE, IDR_MY_ANIMATION);

if (image != null) {
    // BCI イメージの情報を取得する
    image->GetInfo(&imageInfo);

    // SFBImage オブジェクトが BCI イメージを持つかを確認する
    if (imageInfo.cx == 0) {
        TRACE("Failed to load image…!");
        image.Release();
    }
    else {
        // 任意のアニメーションのフレームを描画する
        image->DrawFrame(1, 0, 0);
    }
}

参照

BREW API IIMAGE_DrawFrame | SFBImage::Draw


SFBImage::DrawOffscreen
画像をオフスクリーンバッファとメインバッファのどちらに描画するかを指定します。 この関数は、IPARM_OFFSCREEN を指定して SFBImage::SetParm を呼び出した場合と同等の処理を行います。
[ public ]
Void DrawOffscreen(
    SInt32 offscreen = 0   // オフスクリーン
);

参照

BREW API IIMAGE_DrawOffscreen | SFBImage::SetParm


SFBImage::GetInfo
画像に関する情報を取得します。
[ public ]
Void GetInfo(
    AEEImageInfo* info   // 画像情報を受け取る領域を指すポインタ
);

使用例

画像の情報を取得します。

// リソースファイルから読み込むビットマップのリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp    shell     = SFBShell::GetInstance();
SFBImageSmp    image;
AEEImageInfo   imageInfo = {0};

// リソースファイルから画像を取得する
image = shell->LoadResImage(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

if (image != null) {
    // 画像の情報を取得する
    image->GetInfo(&imageInfo);
}

参照

BREW API IIMAGE_GetInfo | BREW API AEEImageInfo


SFBImage::HandleEvent
SFBImage オブジェクトのイベントハンドラです。
[ public ]
Bool HandleEvent(
    AEEEvent event   // イベント
    UInt16 wParam    // イベント固有の 16 ビット値
    UInt32 dwParam   // イベント固有の 32 ビット値
);
[ public ]
Bool HandleEvent(
    SFXEventConstRef event   
);

戻り値

  • イベントが処理されたとき: true
  • それ以外のなとき: false

参照

BREW API IIMAGE_HandleEvent


SFBImage::NewInstance
SFBImage インスタンスを生成します。
[ public, static ]
SFBImageSmp NewInstance(
    AEECLSID id                    // ClassID
    SFCErrorPtr exception = null   // エラー値
);

解説

以下の値を ClassID として id 引数に指定できます。 機種によってはサポートされない ClassID もあります。

  • AEECLSID_WINBMP (AEECLSID_VIEW+1)
  • AEECLSID_NATIVEBMP (AEECLSID_VIEW+2)
  • AEECLSID_GIF (AEECLSID_VIEW+3)
  • AEECLSID_PNG (AEECLSID_VIEW+4)
  • AEECLSID_JPEG (AEECLSID_VIEW+5)
  • AEECLSID_BCI (AEECLSID_VIEW+6)

詳細は BREW API AEECLSID を参照してください。

参照

BREW API AEECLSID


SFBImage::Notify
SFBImage::SetStream による画像データの読み込み完了時に呼び出されるコールバック関数を登録します。
[ public ]
Void Notify(
    PFNIMAGEINFO notify   // コールバック関数
    VoidPtr data = null   // ユーザー データ
);

参照

BREW API IIMAGE_Notify | PFNIMAGEINFO | SFBImage::SetStream


SFBImage::SetAnimationRate
アニメーション レートをミリ秒単位で設定します。 IPARM_RATE を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
[ public ]
Void SetAnimationRate(
    SInt32 rate   // アニメーション レート
);

参照

BREW API IIMAGE_SetAnimationRate | SFBImage::SetParm


SFBImage::SetDisplay
画像を描画するときに使う SFBDisplay インスタンスを設定します。 IPARM_DISPLAY を指定して meth.SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
[ public ]
Void SetDisplay(
    SFBDisplaySmpConstRef display   // SFBDisplay インスタンス
);

バージョン

BREW 2.1 だけで使えます。

参照

BREW API IIMAGE_SetDisplay | SFBDisplay | SFBImage::SetParm


SFBImage::SetDrawSize
描画する画像のサイズを設定します。 IPARM_SIZE を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
[ public ]
Void SetDrawSize(
    SInt32 width    // 画像の幅
    SInt32 height   // 画像の高さ
);

使用例

リソースファイルから画像を読み込み、 描画サイズを設定して描画します。

// リソースファイルから読み込むビットマップのリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp     shell     = SFBShell::GetInstance();
SFBImageSmp     image;
AEEImageInfo    imageInfo = {0};

// リソースファイルから画像を取得する
image = shell->LoadResImage(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

if (image != null) {
    // 画像の情報を取得する
    image->GetInfo(&imageInfo);

    // SFBImage オブジェクトが画像を持つかを確認する
    if (imageInfo.cx == 0) {
        DBGPRINTF("Failed to load image…!");
        image.Release();
    }
    else {
        // 描画する画像のサイズを設定する
        image->SetDrawSize(50, 50);
        
        // 画像を描画する
        image->Draw(0, 0);
    }
}

参照

BREW API IIMAGE_SetDrawSize | SFBImage::SetParm


SFBImage::SetFrameCount
画像内のフレームの数を設定します。 IPARM_NFRAMES を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
[ public ]
Void SetFrameCount(
    SInt32 count   // フレーム数
);

参照

BREW API IIMAGE_SetFrameCount | SFBImage::SetParm


SFBImage::SetFrameSize
アニメーションをサポートしない画像形式 ( Windows BMP など ) 用に各フレームの幅を設定します。 IPARM_CXFRAME を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
[ public ]
Void SetFrameSize(
    SInt32 width   // フレームの幅
);

参照

BREW API IIMAGE_SetFrameSize | SFBImage::SetParm


SFBImage::SetOffset
描画用オフセットを設定し、描画時の画像の原点を変更します。 IPARM_OFFSET を指定して SFBImage::SetParm 関数を呼び出すのと同等の処理をします。
[ public ]
Void SetOffset(
    SInt32 cx   // オフセットの X 座標
    SInt32 cy   // オフセットの Y 座標
);
[ public ]
Void SetOffset(
    SFXGridConstRef grid   // オフセットの座標
);

参照

BREW API IIMAGE_SetOffset | SFBImage::SetParm


SFBImage::SetParm
SFBIImage オブジェクトの画像関連パラメータを設定します。
[ public ]
Void SetParm(
    SInt32 param   // パラメータの種別
    SInt32 p1      // 特定のパラメータ値
    SInt32 p2      // 特定のパラメータ値
);

使用例

リソースファイルからイメージを読み込み、 透過モードを有効にして描画します。

// リソースファイルから読み込むビットマップのリソース ID
#define IDB_MY_PICTURE  0x0001

SFBShellSmp     shell     = SFBShell::GetInstance();
SFBImageSmp     image;
AEEImageInfo    imageInfo = {0};

// リソースファイルから画像を取得する
image = shell->LoadResImage(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

if (image != null) {
    // 画像の情報を取得する
    image->GetInfo(&imageInfo);

    // SFBImage オブジェクトが画像を持つかを確認する
    if (imageInfo.cx == 0) {
        DBGPRINTF("Failed to load image…!");
        image.Release();
    }
    else {
        // 画像を透過モードで扱う
        image->SetParm(IPARM_ROP, AEE_RO_TRANSPARENT, 0);

        // 画像を描画する
        image->Draw(0, 0);
    }
}

参照

BREW API IIMAGE_SetParm | BREW API AEE IImageパラメータ


SFBImage::SetStream
画像データをファイル、またはソケットからストリーム形式で読み込みます。 画像の読み込みが完了したときに、SFBImage::Notify で登録されたコールバック関数を呼び出します。
[ public ]
Void SetStream(
    SFBAStreamSmpConstRef stream   // 画像データストリーム
);
[ public ]
SFCError SetStream(
    SFXStorageConstRef storage   // 画像データストレージ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • storage が閉じているとき: SFERR_INVALID_STATE
  • 引数が null のとき: SFERR_INVALID_PARAM

参照

BREW API IIMAGE_SetStream | SFBAStream::Read | SFBAStream::Readable | SFBImage::Notify


SFBImage::Start
指定した画像をアニメーション化します ( 画像の個々のフレームを繰り返し描画します )。
[ public ]
Void Start(
    SInt32 x   // フレームを描画する矩形の左上の X 座標
    SInt32 y   // フレームを描画する矩形の左上の Y 座標
);
[ public ]
Void Start(
    SFXGridConstRef grid   // フレームを描画する矩形の左上の座標
);

参照

BREW API IIMAGE_Start | SFBImage::Stop


SFBImage::Stop
SFBImage::Start 関数を使用して開始した画像のアニメーションを停止します。
[ public ]
Void Stop(Void);

参照

BREW API IIMAGE_Stop | SFBImage::Start