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

継承図

SFBBitmap クラスの継承図

バージョン

BREW 2.0 BREW 2.1 BREW 3.1 BREW 4.0

参照

BREW API IBitmap

メンバ

パブリック関数
SFCError BltIn( SInt32 xDest , SInt32 yDest , SInt32 dx , SInt32 dy , SFBBitmapSmpConstRef bmpSrc , SInt32 xSrc , SInt32 ySrc , AEERasterOp rop = AEE_RO_COPY )
指定されたソースビットマップからからこのビットマップにビットブロックを転送します。
SFCError BltIn( SFXRectangleConstRef rcDest , SFBBitmapSmpConstRef bmpSrc , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
指定されたソースビットマップからからこのビットマップにビットブロックを転送します。
SFCError BltIn( SFXGridConstRef gridDest , SFXSizeConstRef sizeDest , SFBBitmapSmpConstRef bmpSrc , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
指定されたソースビットマップからからこのビットマップにビットブロックを転送します。
SFCError BltOut( SInt32 xDest , SInt32 yDest , SInt32 dx , SInt32 dy , SFBBitmapSmpConstRef bmpDest , SInt32 xSrc , SInt32 ySrc , AEERasterOp rop = AEE_RO_COPY )
このビットマップから、転送先のビットマップにビットブロックを転送します。
SFCError BltOut( SFXRectangleConstRef rcDest , SFBBitmapSmpConstRef bmpDest , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
このビットマップから、転送先のビットマップにビットブロックを転送します。
SFCError BltOut( SFXGridConstRef gridDest , SFXSizeConstRef sizeDest , SFBBitmapSmpConstRef bmpDest , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
このビットマップから、転送先のビットマップにビットブロックを転送します。
NativeColor ColorToNative( SFXRGBColorConstRef color )
RGB 値をネイティブ カラー値に変換します。
SFCError CreateCompatibleBitmap( SFBBitmapSmpPtr cloneBmp , UInt16 width , UInt16 height )
このビットマップと互換性のある新しいビットマップを作成します。
SFBBitmapSmp CreateCompatibleBitmap( SFXSizeConstRef size )
このビットマップと互換性のある新しいビットマップを作成します。
SFCError DrawHScanline( UInt32 y , UInt32 xMin , UInt32 xMax , NativeColor color , AEERasterOp rop = AEE_RO_COPY )
水平線を描画します。
SFCError DrawPixel( UInt32 x , UInt32 y , NativeColor color , AEERasterOp rop = AEE_RO_COPY )
ビットマップ内に1つのピクセルを描画します。
SFCError DrawPixel( SFXPixelConstRef pixel , NativeColor color , AEERasterOp rop = AEE_RO_COPY )
ビットマップ内に1つのピクセルを描画します。
SFCError FillRect( SFXRectangleConstRef rect , NativeColor color , AEERasterOp rop = AEE_RO_COPY )
指定した色で、塗り潰し矩形を描画します。
SFCError GetInfo( AEEBitmapInfo* bmpInfo , SInt32 size = sizeof(AEEBitmapInfo) )
ビットマップのサイズを取得します。
SFCError GetPixel( UInt32 x , UInt32 y , NativeColor* color )
指定したピクセルの値を取得します。
SFCError GetPixel( SFXPixelConstRef pixel , NativeColor* color )
指定したピクセルの値を取得します。
NativeColor GetPixel( SFXPixelConstRef pixel )
指定したピクセルの値を取得します。
SFCError GetTransparencyColor( NativeColor* color )
ビットマップの現在の透明色を取得します。
NativeColor GetTransparencyColor( Void )
ビットマップの現在の透明色を取得します。
SFCError Invalidate( SFXRectangleConstRef rect )
rect パラメータで渡された矩形を含めるように、ビットマップのダーティ矩形( 描き換え領域 )を拡張します。
Void NativeToColor( NativeColor nativeColor , SFXRGBColorPtr sfxColor )
ビットマップのネイティブ カラーに対応する RGB カラーを取得します。
SFXRGBColor NativeToColor( NativeColor color )
ビットマップのネイティブ カラーに対応する RGB カラーを取得します。
RGBVAL NativeToRGB( NativeColor color )
ネイティブ カラーを RGB カラーに変換します。
NativeColor RGBToNative( RGBVAL color )
RGB カラーをネイティブ カラーに変換します。
SFCError SetPixels( UInt32 count , SFXPixelPtr pixels , NativeColor color , AEERasterOp rop = AEE_RO_COPY )
複数のピクセルを同じ色で描画します。
SFCError SetTransparencyColor( NativeColor color )
ビットマップの透明色を設定します。
SFCError QueryInterface( AEECLSID clsid , VoidHandle handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFCError QueryInterface( AEECLSID clsid , SFBBaseSmpPtr handle ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
SFBBaseSmp QueryInterface( AEECLSID clsid ) (SFBQuery から継承)
このオブジェクトからの別の API を問い合わせます。
Void Self( AEECLSID clsidReq , SFBQuerySmpPtr clone , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
SFBQuerySmp Self( AEECLSID clsidReq , AEECLSID clsidImp ) (SFBQuery から継承)
オブジェクトを単一インターフェースで実装するときに使います。
プロテクト関数
static
SFBBaseSmp
FactoryByCreate( AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを生成します。
static
SFBBaseSmp
FactoryByQuery( SFBQuerySmpConstRef query , AEECLSID id , SFCErrorPtr exception = null ) (SFBBase から継承)
指定したクラス ID のインターフェースのインスタンスを指定した SFBQuery インスタンスを使用して生成します。

SFBBitmap::BltIn
指定されたソースビットマップからからこのビットマップにビットブロックを転送します。
[ public ]
SFCError BltIn(
    SInt32 xDest                    // 転送先の矩形の左上の X 座標
    SInt32 yDest                    // 転送先の矩形の左上の Y 座標
    SInt32 dx                       // 転送先の矩形の幅
    SInt32 dy                       // 転送先の矩形の高さ
    SFBBitmapSmpConstRef bmpSrc     // 転送元のビットマップ
    SInt32 xSrc                     // 転送元の矩形の左上の X 座標
    SInt32 ySrc                     // 転送元の矩形の左上の Y 座標
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);
[ public ]
SFCError BltIn(
    SFXRectangleConstRef rcDest     // 転送先の矩形
    SFBBitmapSmpConstRef bmpSrc     // 転送元のビットマップ
    SFXGridConstRef gridSrc         // 転送元の矩形の左上の座標
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);
[ public ]
SFCError BltIn(
    SFXGridConstRef gridDest        // 転送先の矩形の左上の座標
    SFXSizeConstRef sizeDest        // 転送先の矩形のサイズ
    SFBBitmapSmpConstRef bmpSrc     // 転送元のビットマップ
    SFXGridConstRef gridSrc         // 転送元の左上の座標
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 操作がサポートされていないとき: SFERR_UNSUPPORTED または AEEError.h で定義されているエラー値

使用例

リソースファイルから読み込んだビットマップを端末画面に描画します。

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

SFBShellSmp     shell   = SFBShell::GetInstance();
SFBDisplaySmp   display = SFBDisplay::NewInstance();
SFBBitmapSmp    bmp;
SFBBitmapSmp    dst;

// リソースファイルからビットマップを取得する
bmp = shell->LoadResBitmap(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

if (bmp != null) {
    // レンダリング対象となるターゲットビットマップを取得する
    dst = display->GetDestination();

    // レンダリング対象となるターゲットビットマップに、
    // リソースファイルから読み込んだビットマップを描画する
    dst->BltIn(
        SFXRectangle(0, 0, 100, 100), // 転送先の矩形
        bmp,                          // 転送元のビットマップ
        SFXGrid(0, 0)                 // 転送元の転送開始座標
    );

    // 画面を更新する
    display->Update();
}

参照

BREW API IBITMAP_BltIn | AEERasterOp | SFBBitmap::BltOut


SFBBitmap::BltOut
このビットマップから、転送先のビットマップにビットブロックを転送します。
[ public ]
SFCError BltOut(
    SInt32 xDest                    // 転送先の矩形の左上の X 座標
    SInt32 yDest                    // 転送先の矩形の左上の Y 座標
    SInt32 dx                       // 転送先の矩形の幅
    SInt32 dy                       // 転送先の矩形の高さ
    SFBBitmapSmpConstRef bmpDest    // 転送先のビットマップ
    SInt32 xSrc                     // 転送元の矩形の左上の座標
    SInt32 ySrc                     // 転送元の矩形の左上の座標
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);
[ public ]
SFCError BltOut(
    SFXRectangleConstRef rcDest     // 転送先の矩形
    SFBBitmapSmpConstRef bmpDest    // 転送先のビットマップ
    SFXGridConstRef gridSrc         // 転送元の矩形の左上の座標
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);
[ public ]
SFCError BltOut(
    SFXGridConstRef gridDest        // 転送先の矩形の左上の座標
    SFXSizeConstRef sizeDest        // 転送先の矩形のサイズ
    SFBBitmapSmpConstRef bmpDest    // 転送先のビットマップ
    SFXGridConstRef gridSrc         // 転送元の矩形の左上の座標
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 操作がサポートされていないとき: SFERR_UNSUPPORTED

参照

BREW API IBITMAP_BltOut | AEERasterOp | SFBBitmap::BltIn


SFBBitmap::ColorToNative
RGB 値をネイティブ カラー値に変換します。
[ public ]
NativeColor ColorToNative(
    SFXRGBColorConstRef color   // RGB カラー
);

戻り値

変換後のネイティブ カラーを返します。

解説

RGB 値をネイティブ カラー値に変換します。 ネイティブ カラー値とは、ピクセル配列に格納されている値です。 指定された RGBVAL に正確に対応するネイティブ カラーがない場合は、 最も近いネイティブ カラーが返されます。 この関数は必ずしも最も近いネイティブ カラーを返すわけではありません。 パフォーマンス上の理由で別のネイティブ カラーが返されることがあります。

参照

BREW API IBITMAP_RGBToNative | SFXRGBColor | SFBBitmap::NativeToRGB


SFBBitmap::CreateCompatibleBitmap
このビットマップと互換性のある新しいビットマップを作成します。
[ public ]
SFCError CreateCompatibleBitmap(
    SFBBitmapSmpPtr cloneBmp   // 新しいビットマップ インターフェースへのポインタ
    UInt16 width               // 新しいビットマップの幅
    UInt16 height              // 新しいビットマップの高さ
);
[ public ]
SFBBitmapSmp CreateCompatibleBitmap(
    SFXSizeConstRef size   // 新しいビットマップのサイズ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • cloneBmp が null のとき: SFERR_INVALID_PARAM
  • メモリ不足のとき: SFERR_NO_MEMORY

使用例

レンダリング対象となるターゲットビットマップと互換性のあるビットマップを作成します。

SFXGraphicsPtr  graphic = SFXGraphics::NewInstance();
SFBBitmapSmp    dst;
SFBBitmapSmp    tmpDst;

// レンダリング対象となるターゲットビットマップを取得する
dst = graphic->GetDestination();

// レンダリング対象となるターゲットビットマップと互換性のある新しいビットマップを作成する
tmpDst = dst->CreateCompatibleBitmap(SFXSize(100, 100));

参照

BREW API IBITMAP_CreateCompatibleBitmap


SFBBitmap::DrawHScanline
水平線を描画します。
[ public ]
SFCError DrawHScanline(
    UInt32 y                        // Y 座標
    UInt32 xMin                     // 開始点の X 座標
    UInt32 xMax                     // 終了点の X 座標
    NativeColor color               // ネイティブ カラー
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ラスター操作が無効なとき: SFERR_INVALID_PARAM

参照

BREW API IBITMAP_DrawHScanline | AEERasterOp


SFBBitmap::DrawPixel
ビットマップ内に1つのピクセルを描画します。
[ public ]
SFCError DrawPixel(
    UInt32 x                        // ピクセルの X 座標
    UInt32 y                        // ピクセルの Y 座標
    NativeColor color               // ネイティブ カラー
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);
[ public ]
SFCError DrawPixel(
    SFXPixelConstRef pixel          // ピクセルの座標
    NativeColor color               // ネイティブ カラー
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ラスター操作が無効なとき: SFERR_INVALID_PARAM
  • IBitmap がサポートされていないとき: SFERR_UNSUPPORTED

参照

BREW API IBITMAP_DrawPixel | AEERasterOp | SFBBitmap::GetPixel


SFBBitmap::FillRect
指定した色で、塗り潰し矩形を描画します。
[ public ]
SFCError FillRect(
    SFXRectangleConstRef rect       // 矩形
    NativeColor color               // ネイティブ カラー
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ラスター操作が無効なとき: SFERR_INVALID_PARAM

使用例

赤色で塗り潰した矩形を描画します。

SFXGraphicsSmp      graphic = SFXGraphics::NewInstance();
SFBBitmapSmp        dst;
NativeColor         nativeColor;

// レンダリング対象となるターゲットビットマップを取得する
dst = graphic->GetDestination();

// RGB カラーをネイティブ カラーに変換する
nativeColor = dst->RGBToNative(SFXRGBColor(0xFF, 0x00, 0x00));

// レンダリング対象となるターゲットビットマップに、赤色で塗り潰した矩形を描画する
dst->FillRect(SFXRectangle(0, 0, 100, 100), nativeColor);

参照

BREW API IBITMAP_FillRect | AEERasterOp


SFBBitmap::GetInfo
ビットマップのサイズを取得します。
[ public ]
SFCError GetInfo(
    AEEBitmapInfo* bmpInfo                // AEEBitmapInfo へのポインタ
    SInt32 size = sizeof(AEEBitmapInfo)   // AEEBitmapInfo 構造体のサイズ
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ビットマップがサイズを認識できないとき: SFERR_UNSUPPORTED

使用例

ビットマップのサイズを取得します。

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

SFBShellSmp     shell   = SFBShell::GetInstance();
SFBBitmapSmp    bmp;
AEEBitmapInfo   bmpInfo = {0};

// リソースファイルからビットマップを取得する
bmp = shell->LoadResBitmap(MYRESOURCE_RES_FILE, IDB_MY_PICTURE);

// ビットマップのサイズを取得する
bmp->GetInfo(&bmpInfo);

参照

BREW API IBITMAP_GetInfo | AEEBitmapInfo


SFBBitmap::GetPixel
指定したピクセルの値を取得します。
[ public ]
SFCError GetPixel(
    UInt32 x             // ピクセルの X 座標
    UInt32 y             // ピクセルの Y 座標
    NativeColor* color   // ネイティブ カラーを受け取る領域を指すポインタ
);
[ public ]
SFCError GetPixel(
    SFXPixelConstRef pixel   // ピクセルの座標
    NativeColor* color       // ネイティブ カラーを受け取る領域を指すポインタ
);
[ public ]
NativeColor GetPixel(
    SFXPixelConstRef pixel   // ピクセルの座標
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ピクセルの座標が範囲外のとき: SFERR_INVALID_PARAM
  • 操作がサポートされていないとき: SFERR_UNSUPPORTED

参照

BREW API IBITMAP_GetPixel | SFBBitmap::SetPixels


SFBBitmap::GetTransparencyColor
ビットマップの現在の透明色を取得します。
[ public ]
SFCError GetTransparencyColor(
    NativeColor* color   // ネイティブ カラーを受け取る領域を指すポインタ
);
[ public ]
NativeColor GetTransparencyColor(Void);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 引数が null のとき: SFERR_INVALID_PARAM
  • 操作がサポートされていないとき: SFERR_UNSUPPORTED

参照

BREW API IBITMAP_GetTransparencyColor | SFBBitmap::BltIn | SFBBitmap::BltOut | SFBBitmap::SetTransparencyColor


SFBBitmap::Invalidate
rect パラメータで渡された矩形を含めるように、ビットマップのダーティ矩形( 描き換え領域 )を拡張します。
[ public ]
SFCError Invalidate(
    SFXRectangleConstRef rect   // ダーティ領域に含める矩形
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • ダーティ領域に含める矩形の最適化が実装されていないとき: SFERR_UNSUPPORTED

参照

BREW API IBITMAP_Invalidate


SFBBitmap::NativeToColor
ビットマップのネイティブ カラーに対応する RGB カラーを取得します。
[ public ]
Void NativeToColor(
    NativeColor nativeColor   // ネイティブ カラー
    SFXRGBColorPtr sfxColor   // RGB カラーを受け取る領域を指すポインタ
);
[ public ]
SFXRGBColor NativeToColor(
    NativeColor color   // ネイティブ カラー
);

参照

BREW API IBITMAP_NativeToRGB | NativeColor | RGBVAL | SFBBitmap::RGBToNative


SFBBitmap::NativeToRGB
ネイティブ カラーを RGB カラーに変換します。
[ public ]
RGBVAL NativeToRGB(
    NativeColor color   // ネイティブ カラー値
);

使用例

ネイティブ カラーを RGB カラーに変換します。

SFXGraphicsSmp      graphic = SFXGraphics::NewInstance();
SFBBitmapSmp        dst;
NativeColor         nativeColor;
SFXRGBColor         rgbColor;

// レンダリング対象となるターゲットビットマップを取得する
dst = graphic->GetDestination();

// ピクセル値を取得する
nativeColor = dst->GetPixel(SFXGrid(0, 0));

// ネイティブ カラーを RGB カラーに変換する
rgbColor = dst->NativeToRGB(nativeColor);

参照

BREW API IBITMAP_NativeToRGB | SFBBitmap::NativeToColor | NativeColor | RGBVAL | SFBBitmap::RGBToNative


SFBBitmap::RGBToNative
RGB カラーをネイティブ カラーに変換します。
[ public ]
NativeColor RGBToNative(
    RGBVAL color   // 変換元の RGB 値
                   // 真の RGB 値のみサポートされている
                   // カラーテーブルのインデックスはサポートされていない
);

使用例

RGB カラーをネイティブ カラーに変換し、 赤色で塗り潰した矩形を描画します。

SFXGraphicsSmp      graphic = SFXGraphics::NewInstance();
SFBBitmapSmp        dst;
NativeColor         nativeColor;

// レンダリング対象となるターゲットビットマップを取得する
dst = graphic->GetDestination();

// RGB カラーをネイティブ カラーに変換する
nativeColor = dst->RGBToNative(SFXRGBColor(0xFF, 0x00, 0x00));

// レンダリング対象となるターゲットビットマップに、赤色で塗り潰した矩形を描画する
dst->FillRect(SFXRectangle(0, 0, 100, 100), nativeColor);

参照

BREW API IBITMAP_RGBToNative | RGBVAL | SFBBitmap::ColorToNative | SFBBitmap::NativeToRGB | SFBBitmap::NativeToColor


SFBBitmap::SetPixels
複数のピクセルを同じ色で描画します。
[ public ]
SFCError SetPixels(
    UInt32 count                    // ピクセル数
    SFXPixelPtr pixels              // ピクセル座標配列の先頭ポインタ
    NativeColor color               // ネイティブ カラー
    AEERasterOp rop = AEE_RO_COPY   // ラスター操作
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 失敗したとき: AEEError.h で定義されているエラー値

参照

BREW API IBITMAP_SetPixels | AEERasterOp | SFBBitmap::GetPixel


SFBBitmap::SetTransparencyColor
ビットマップの透明色を設定します。
[ public ]
SFCError SetTransparencyColor(
    NativeColor color   // 透明色
);

戻り値

  • 成功したとき: SFERR_NO_ERROR
  • 操作がサポートされていないとき: SFERR_UNSUPPORTED

参照

BREW API IBITMAP_SetTransparencyColor | SFBBitmap::BltIn | SFBBitmap::BltOut | SFBBitmap::GetTransparencyColor