CImage::CreateEx
CImage のビットマップを作成し、CImage の前に構築されたオブジェクトにアタッチします。
BOOL CreateEx(
int nWidth,
int nHeight,
int nBPP,
DWORD eCompression,
const DWORD* pdwBitmasks = NULL,
DWORD dwFlags = 0
) throw( );
パラメーター
nWidth
CImage ピクセルのビットマップの幅。nHeight
CImage のビットマップのピクセル単位の高さ。 nHeight が正の場合、DIB ビットマップはボトムアップであり、原点は左下隅になります。 nHeight が負の場合は、ビットマップ上の DIB であり、原点は左上隅になります。nBPP
ビットマップのピクセル数。 通常、4、8、16、24、または 32。 モノクロ ビットマップまたはマスクの 1 つがあります。eCompression
圧縮ボトムアップ ビットマップに対する圧縮の種類を指定します (トップダウンの DIB は圧縮できません)。 次のいずれかの値になります。BI_RGB は、非圧縮形式です。 CImage::CreateEx を呼び出すときにこの値を指定する必要が CImage::Createを呼び出すことと同じです。
BI_BITFIELDS は書式設定解除され、カラー テーブルには、各ピクセルの赤、緑、および青の要素をそれぞれ指定する、3 個の DWORD 色のマスクで構成されます。 これを使用する場合は、16 - 32-bpp ビットマップ有効です。
pdwBitfields
eCompressionBI_BITFIELDSがに設定されている場合のみ使用され、それ以外の場合は nullである必要があります。 各ピクセルはビットが色の赤、緑、青の各要素に対して使用するかを指定します DWORD の 3 ビット マスクの配列へのポインター、それぞれ。 bitfields の制限事項の詳細については、Windows SDKの BITMAPINFOHEADER を参照してください。dwFlags
ビットマップ オブジェクトにアルファ チャネルがある場合に指定します。 ゼロの組み合わせや次の値の多くがあります:createAlphaChannel は nBPP が 32、eCompression が BI_RGBある場合のみ使用できます。 指定すると、作成されたイメージの各ピクセルの各ピクセルの アルファ(透明度) の値が、第 4 バイトです (非アルファの 32 ビット イメージで未使用) 格納されます。 このアルファ チャネルが自動的に CImage::AlphaBlendを呼び出すときに使用されます。
注意
CImage::Drawの呼び出しでは、アルファ チャネル付きのイメージが自動的にターゲットにアルファ ブレンドされる。
戻り値
成功した場合**[真]**。 それ FALSE。
使用例
次の例では、16 ビットを使用して各ピクセルをエンコードする 100x100 ピクセルのビットマップを作成します。 指定した 16 ビット ピクセルで、数値ビットは赤をエンコードしますが、ビット 4-7 緑をエンコードし、ビットが 8-11 青をエンコードします。 残りの 4 ビットは使用されません。
DWORD adwBitmasks[3] = { 0x0000000f, 0x000000f0, 0x00000f00 };
m_myImage.CreateEx(100, 100, 16, BI_BITFIELDS, adwBitmasks, 0);
必要条件
ヘッダー: atlimage.h