掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デバイスコンテキストを取得し、ビットマップをしてつかうには? (ID:64382)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
これじゃ〜取れないというか無茶苦茶・・・ どうもデスクトップウィンドウ全てを画像として保存したいようですので // ウインドウのデバイスコンテキスト取得 hdc = CreateDC(TEXT("DISPLAY") , NULL , NULL , NULL); ※ この記述、IBM OS/2 みたいな書き方? デスクトップのデバイスコンテキストを取るなら・・・ オーソドックスに! hdc = GetDC( GetDesktopWindow() ); ※ マルチディスプレイの場合は・・・ hdc = GetDC( NULL ); で仮想画面全てが取得できるようになります。 で・・・ /* ウインドウのデバイスコンテキスト互換のBITMAP作成 */ hBMP=CreateCompatibleBitmap(hdc,dwWidth,dwHight); /* BITMAPにウインドウのクライアント領域をコピー */ hdcMem=CreateCompatibleDC(hdc); hOld=(HBITMAP)SelectObject(hdcMem,hBMP); BitBlt(hdcMem,0,0,dwWidth,dwHight,hdc,VirtualRec.left,VirtualRec.top,SRCCOPY); SelectObject(hdcMem,hOld); GetDIBits(hdcMem,hBMP,0,dwHight,lpPixel,(LPBITMAPINFO)lpInfo,DIB_RGB_COLORS); ReleaseDC(hwnd,hdc); DeleteObject(hBMP); DeleteObject(hdcMem); 後は最後にファイルに書き出す・・・と言う手順。 ※ 私の自作のソースコードから抜きましたので、変数名は推測して 下さい。 参考までに 以上。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.