前のページ次のページ上に戻るホーム SophiaFramework 2.2
SFBBitmap
IBitmap インターフェイスのラッパークラスです。
#include <SFBBitmap.hpp>
class SFBBitmap : public SFBQuery;
typedef SFBBitmap&          SFBBitmapRef;
typedef SFBBitmap*          SFBBitmapPtr;
typedef SFBBitmap**         SFBBitmapHandle;
typedef const SFBBitmap     ConstSFBBitmap;
typedef const SFBBitmap&    ConstSFBBitmapRef;
typedef const SFBBitmap*    ConstSFBBitmapPtr;
typedef const SFBBitmap**   ConstSFBBitmapHandle;

継承図

SFBBitmap クラスの継承図

参照

BREW API IBitmap

バグ情報

IBITMAP_GetPixel, IBITMAP_SetPixel
Tips すべて

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

メンバ

パブリック関数
public
AddRef (SFBBase から継承) インターフェイスの参照カウントをインクリメントします。
public
BltIn 指定されたソース ビットマップからこのビットマップにビット ブロックを転送します。
public
BltOut このビットマップから、指定されたビットマップにビット ブロックを転送します。
public
ColorToNative RGB 値をネイティブカラー値に変換します。
public
CreateCompatibleBitmap このビットマップと互換性のある新しいビットマップを作成します。
public
DrawHScanline 水平線を描画します。
public
DrawPixel ビットマップ内に1つのピクセルを描画します。
public
FillRect 指定された色で、塗りつぶし長方形を描画します。
public
GetInfo ビットマップのサイズを取得します。
public
GetPixel 指定されたピクセルの値を取得します。
public
GetTransparencyColor ビットマップの現在の透明色を取得します。
public
NativeToColor ビットマップのネイティブカラーに対応する RGB カラーを取得します。
public
NativeToRGB RGB 値をネイティブカラー値に変換します。
public
QueryInterface (SFBQuery から継承) このオブジェクトからの別の API を問い合わせます。
public
RGBToNative RGB カラーをネイティブカラーに変換します。
public
Release (SFBBase から継承) インターフェイスの参照カウントをデクリメントします。
public
Self (SFBQuery から継承) オブジェクトを単一インタフェースで実装する際に使用します。
public
SetPixels 複数のピクセルを同じ色で描画します。
public
SetTransparencyColor ビットマップの透明色を設定します。

SFBBitmap::BltIn
指定されたソース ビットマップからこのビットマップにビット ブロックを転送します。
[ public ]
SFCError BltIn(
    SIntN xDst                          // コピー先の矩形の左上の X 座標
    SIntN yDst                          // コピー先の矩形の左上の Y 座標
    SIntN dx                            // コピー先の矩形の幅
    SIntN dy                            // コピー先の矩形の高さ
    const SFUBrewPtr<SFBBitmap>& pSrc   // コピー元のビットマップ
    SIntN xSrc                          // コピー元の矩形の左上の X 座標
    SIntN ySrc                          // コピー元の矩形の左上の Y 座標
    AEERasterOp rop = AEE_RO_COPY       // ラスター操作
);
[ public ]
SFCError BltIn(
    ConstSFURectRef rcDst               // コピー先の矩形
    const SFUBrewPtr<SFBBitmap>& pSrc   // コピー元のビットマップ
    ConstSFUPointRef ptSrc              // コピー元の左上の長方形
    AEERasterOp rop = AEE_RO_COPY       // ラスター操作
);
[ public ]
SFCError BltIn(
    ConstSFUPointRef ptDst               // コピー先の長方形の左上の座標
    ConstSFUSizeRef sizeDst              // コピー先の長方形のサイズs
    const SFUBrewPtr<SFBBitmap> & pSrc   // コピー元のビットマップ
    ConstSFUPointRef ptSrc               // コピー元の左上の座標
    AEERasterOp rop = AEE_RO_COPY        // ラスター操作
);

使用例

SFUGraphicsPtr          graphic = SFUGraphics::Instance();
SFUBrewPtr<SFBShell>    shell   = SFBShell::Instance();
SFUBrewPtr<SFBBitmap>   bmp;
SFUBrewPtr<SFBBitmap>   dst;

// リソース ファイルからビットマップを取得します。
bmp = shell->LoadResBitmap(SAMPLE_RES_FILE, IDR_TILE_BMP);
if (bmp != NULL) {

    // 描画先のビットマップを取得します。
    dst = graphic->GetDestination();

    // 描画先のビットマップに、
    // リソース ファイルから読み込んだビットマップを描画します。
    dst->BltIn(SFURect(0,0,100,100),  // 転送先の矩形
               bmp,                   // 転送元のビットマップ
               SFUPoint(0,0));        // 転送元の転送開始座標
}

参照

BREW API IBITMAP_BltIn | AEERasterOp | SFBBitmap::BltOut


SFBBitmap::BltOut
このビットマップから、指定されたビットマップにビット ブロックを転送します。
[ public ]
SFCError BltOut(
    SIntN xDst                          // コピー先の長方形の左上の X 座標
    SIntN yDst                          // コピー先の長方形の左上の Y 座標
    SIntN dx                            // コピー先の長方形の幅
    SIntN dy                            // コピー先の長方形の高さ
    const SFUBrewPtr<SFBBitmap>& pDst   // コピー先のビットマップ
    SIntN xSrc                          // コピー元の長方形の左上の座標
    SIntN ySrc                          // コピー元の長方形の左上の座標
    AEERasterOp rop = AEE_RO_COPY       // ラスター操作
);
[ public ]
SFCError BltOut(
    ConstSFURectRef rcDst               // コピー先の長方形
    const SFUBrewPtr<SFBBitmap>& pDst   // コピー先のビットマップ
    ConstSFUPointRef ptSrc              // コピー元の長方形の左上の座標
    AEERasterOp rop = AEE_RO_COPY       // ラスター操作
);
[ public ]
SFCError BltOut(
    ConstSFUPointRef ptDst              // コピー先の長方形の左上の座標
    ConstSFUSizeRef sizeDst             // コピー先の長方形のサイズ
    const SFUBrewPtr<SFBBitmap>& pDst   // コピー先のビットマップ
    ConstSFUPointRef ptSrc              // コピー元の長方形の左上の座標
    AEERasterOp rop = AEE_RO_COPY       // ラスター操作
);

参照

BREW API IBITMAP_BltOut | AEERasterOp | SFBBitmap::BltIn


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

戻り値

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

解説

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

参照

BREW API IBITMAP_RGBToNative | SFUColor | SFBBitmap::NativeToRGB


SFBBitmap::CreateCompatibleBitmap
このビットマップと互換性のある新しいビットマップを作成します。
[ public ]
SFCError CreateCompatibleBitmap(
    SFUBrewPtr<SFBBitmap>::Ptr ppIBitmap   // 新しいビットマップ インターフェイスへのポインタ
    UInt16 w                               // 新しいビットマップの幅
    UInt16 h                               // 新しいビットマップの高さ
);
[ public ]
SFUBrewPtr<SFBBitmap> CreateCompatibleBitmap(
    ConstSFUSizeRef size   // 新しいビットマップのサイズ
);

使用例

SFUGraphicsPtr          graphic = SFUGraphics::Instance();
SFUBrewPtr<SFBBitmap>   dst;
SFUBrewPtr<SFBBitmap>   tmpDst;

// 描画先のビットマップを取得します。
dst = graphic->GetDestination();

// 描画先のビットマップと互換性のある新しいビットマップを作成します。
tmpDst = dst->CreateCompatibleBitmap(SFUSize(100, 100));

参照

BREW API IBITMAP_CreateCompatibleBitmap


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

参照

BREW API IBITMAP_DrawHScanline | AEERasterOp


SFBBitmap::DrawPixel
ビットマップ内に1つのピクセルを描画します。
[ public ]
SFCError DrawPixel(
    UIntN x                         
    UIntN y                         
    NativeColor color               
    AEERasterOp rop = AEE_RO_COPY   
);
[ public ]
SFCError DrawPixel(
    ConstSFUPointRef point          
    NativeColor color               
    AEERasterOp rop = AEE_RO_COPY   
);

参照

BREW API IBITMAP_DrawPixel | AEERasterOp | SFBBitmap::GetPixel


SFBBitmap::FillRect
指定された色で、塗りつぶし長方形を描画します。
[ public ]
SFCError FillRect(
    ConstSFURectRef rect            
    NativeColor color               
    AEERasterOp rop = AEE_RO_COPY   
);

使用例

SFUGraphicsPtr          graphic = SFUGraphics::Instance();
SFUBrewPtr<SFBBitmap>   dst;
NativeColor             nativeColor;

// 描画先のビットマップを取得します。
dst = graphic->GetDestination();

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

// 描画先のビットマップに、赤色で塗りつぶした長方形を描画します。
dst->FillRect(SFURect(0, 0, 100, 100), nativeColor);

参照

BREW API IBITMAP_FillRect | AEERasterOp


SFBBitmap::GetInfo
ビットマップのサイズを取得します。
[ public ]
SFCError GetInfo(
    AEEBitmapInfo * pinfo                
    SIntN size = sizeof(AEEBitmapInfo)   
);

使用例

SFUBrewPtr<SFBShell>    shell   = SFBShell::Instance();
SFUBrewPtr<SFBBitmap>   bmp;
AEEBitmapInfo           bmpInfo = {0};

// リソース ファイルからビットマップを取得します。
bmp = shell->LoadResBitmap(HELLOWORLD_RES_FILE,IDR_TILE_BMP);
if (bmp != NULL) {
    // ビットマップのサイズを取得します。
    bmp->GetInfo(&bmpInfo);
}

参照

BREW API IBITMAP_GetInfo | AEEBitmapInfo


SFBBitmap::GetPixel
指定されたピクセルの値を取得します。
[ public ]
SFCError GetPixel(
    UIntN x               
    UIntN y               
    NativeColor * color   
);
[ public ]
SFCError GetPixel(
    ConstSFUPointRef point   
    NativeColor * color      
);
[ public ]
NativeColor GetPixel(
    ConstSFUPointRef point   
);

参照

BREW API IBITMAP_GetPixel | SFBBitmap::SetPixels


SFBBitmap::GetTransparencyColor
ビットマップの現在の透明色を取得します。
[ public ]
SFCError GetTransparencyColor(
    NativeColor * pColor   
);
[ public ]
NativeColor GetTransparencyColor(Void);

解説

このビットマップが、透明ビットのブリット操作のソース ビットマップであるときに使用します。

参照

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


SFBBitmap::NativeToColor
ビットマップのネイティブカラーに対応する RGB カラーを取得します。
[ public ]
Void NativeToColor(
    NativeColor ncolor   
    SFUColorPtr pColor   
);
[ public ]
SFUColor NativeToColor(
    NativeColor ncolor    
);

参照

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


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

使用例

SFUGraphicsPtr          graphic = SFUGraphics::Instance();
SFUBrewPtr<SFBBitmap>   dst;
NativeColor             nativeColor;
SFUColor                rgbColor;

// 描画先のビットマップを取得します。
dst = graphic->GetDestination();

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

// 描画先のビットマップに、赤色で塗りつぶした長方形を描画します。
dst->FillRect(SFURect(0, 0, 100, 100), nativeColor);

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

参照

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


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

使用例

SFUGraphicsPtr          graphic = SFUGraphics::Instance();
SFUBrewPtr<SFBBitmap>   dst;
NativeColor             nativeColor;

// 描画先のビットマップを取得します。
dst = graphic->GetDestination();

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

// 描画先のビットマップに、赤色で塗りつぶした長方形を描画します。
dst->FillRect(SFURect(0, 0, 100, 100), nativeColor);

参照

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


SFBBitmap::SetPixels
複数のピクセルを同じ色で描画します。
[ public ]
SFCError SetPixels(
    UIntN count                     
    SFUPointPtr point               
    NativeColor ncolor              
    AEERasterOp rop = AEE_RO_COPY   
);

参照

BREW API IBITMAP_SetPixels | AEERasterOp | SFBBitmap::GetPixel


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

解説

このビットマップが、透明ビットのブリット操作のソース ビットマップであるときに使用します。

参照

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