8

このコードの何が問題なのか理解できません:

HBITMAP bm = 0; 
BITMAP Bitmap;
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
int error = GetObject( &Bitmap, sizeof( BITMAP  ), &bm );

LoadImage 関数は非 null ポインターを返します。ただし、GetObject はエラーを示す 0 を返します。HBITMAP ポインターからサイズ情報と画像データを取得したい (ポインターはパラメーターとして渡すことができるため、ビットマップ ファイルの読み込み方法を変更することはできません)。

4

1 に答える 1

10

パラメータを適切な場所に配置すると役立つ場合があります。

HBITMAP bm = 0; 
BITMAP Bitmap;
bm = (HBITMAP)LoadImage (0, path, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
int error = GetObject( bm, sizeof( BITMAP ), &Bitmap ); // << NOTE ORDERING

詳細については、ドキュメントを参照してGetObject()ください。

于 2012-12-27T07:24:25.997 に答える