前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFBBitmap
IBitmap インターフェイスのラッパークラスです。
#include <SFBBitmap.h.hpp>
class SFBBitmap : public SFBQuery;
SFMTYPEDEFWRAPPER(SFBBitmap)

継承図

SFBBitmap クラスの継承図

協調図

SFBBitmap クラスの協調図

参照

BREW API IBitmap

バグ情報

IBITMAP_BltOut
Tips すべて

アプリケーションから直接 IBITMAP_BltOut をコールすると EUNSUPPORTED が返ります。IBITMAP_BltIn をご使用ください

IBITMAP_GetPixel, IBITMAP_SetPixel
Tips すべて

これらの API は、DDB (デバイス依存ビットマップ) に対してしか使用できません。

メンバ

パブリック関数
SFCError BltIn( SInt32 xDest , SInt32 yDest , SInt32 dx , SInt32 dy , SFBBitmapSmpConstRef bmpSrc , SInt32 xSrc , SInt32 ySrc , AEERasterOp rop = AEE_RO_COPY )
BltIn( SFXGridConstRef gridDest , SFXSizeConstRef sizeDest , SFBBitmapSmpConstRef bmpSrc , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
BltIn( SFXRectangleConstRef rcDest , 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 )
BltOut( SFXGridConstRef gridDest , SFXSizeConstRef sizeDest , SFBBitmapSmpConstRef bmpDest , SFXGridConstRef gridSrc , AEERasterOp rop = AEE_RO_COPY )
BltOut( SFXRectangleConstRef rcDest , 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 )
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 )
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 から継承)
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 から継承)
オブジェクトを単一インタフェースで実装する際に使用します。

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   // ラスター操作
);

使用例

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

// リソース ファイルから読み込むビットマップのリソース 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   // ラスター操作
);

参照

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   // 新しいビットマップのサイズ
);

使用例

描画先のビットマップと互換性のあるビットマップを作成します。

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   // ラスター操作
);

参照

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 を返します。

参照

BREW API IBITMAP_DrawPixel | AEERasterOp | SFBBitmap::GetPixel


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

戻り値

描画に成功すると SFERR_NO_ERROR を返します。

使用例

赤色で塗りつぶした長方形を描画します。

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 構造体のサイズ
);

使用例

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

// リソース ファイルから読み込むビットマップのリソース 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 を返します。

参照

BREW API IBITMAP_GetPixel | SFBBitmap::SetPixels


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

参照

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


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

参照

BREW API IBITMAP_Invalidate


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

戻り値

取得に成功すると SFERR_NO_ERROR を返します。

参照

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 を返します。

参照

BREW API IBITMAP_SetPixels | AEERasterOp | SFBBitmap::GetPixel


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

参照

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