by ノッチ » 2006年5月29日(月) 18:37
> こんにちは、
>
> 以下のコードで、メモリビットマップを作成していますが...
> 環境によって?思い通りのサイズになりません。(特に高さが...)
>
> 以下の場合、幅32、高さ1152になるはずですが...
> 環境によっては高さが768以上になりません。
>
> 何がいけないのか、ご指摘お願いいたします。
>
> WinXP、Win98、AB4.24
>
>
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]
>
コード: 全て選択
>
> Dim WndDC As DWord
> Dim Picture1_DC As DWord
> Dim memBMP As DWord
>
> WndDC = GetDC(NULL)
> Picture1_DC = CreateCompatibleDC(WndDC)
> memBMP = CreateCompatibleBitmap(WndDC ,32,(32*30)+192)
>
> SelectObject(Picture1_DC,memBMP)
>
>
>
以下予想ですが、
画面の解像度が1024×768になっているのではないでしょうか?
GetDCをNULLで呼び出すとDisplayのDCを取得するのではないかと思います。
で、恐らくDisplayの解像度を超えるサイズのビットマップは作成できないという
ことだと思います。
解決方法は画面解像度を上げるか・・・他に方法が思いつきません。
違ってたらごめんなさい。
> こんにちは、
>
> 以下のコードで、メモリビットマップを作成していますが...
> 環境によって?思い通りのサイズになりません。(特に高さが...)
>
> 以下の場合、幅32、高さ1152になるはずですが...
> 環境によっては高さが768以上になりません。
>
> 何がいけないのか、ご指摘お願いいたします。
>
> WinXP、Win98、AB4.24
>
> [hide]
> [code]
>
> Dim WndDC As DWord
> Dim Picture1_DC As DWord
> Dim memBMP As DWord
>
> WndDC = GetDC(NULL)
> Picture1_DC = CreateCompatibleDC(WndDC)
> memBMP = CreateCompatibleBitmap(WndDC ,32,(32*30)+192)
>
> SelectObject(Picture1_DC,memBMP)
>
> [/code]
> [/hide]
以下予想ですが、
画面の解像度が1024×768になっているのではないでしょうか?
GetDCをNULLで呼び出すとDisplayのDCを取得するのではないかと思います。
で、恐らくDisplayの解像度を超えるサイズのビットマップは作成できないという
ことだと思います。
解決方法は画面解像度を上げるか・・・他に方法が思いつきません。
違ってたらごめんなさい。