掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PrintScreenキーのように取りこむには? (ID:50155)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆様、ありがとうございます。 お蔭様でとりあえず、次のようなソースでできました。 本当に感謝しています。 COLORREF color; CPaintDC dc(this); // 描画用のデバイス コンテキスト // デスクトップを取る CWnd* pwndDeskTop = GetDesktopWindow(); CDC* pDeskTopDC = pwndDeskTop->GetDC(); // 自分の領域にデスクトップからコピー dc.BitBlt( 0,0, 200, 200, pDeskTopDC, 0, 0, SRCCOPY ); pwndDeskTop->ReleaseDC(pDeskTopDC); この後に、 for(j=0;j<yh;j++) for(i=0;i<xw;i++){ color=pDC->GetPixel(x0+i,y0+j); r=GetRValue(color); g=GetGValue(color); b=GetBValue(color); c=(r+g+b)/3; pDC->SetPixel(x1+i,y0+j,RGB(c,c,c)); } のような操作で白黒化を試したのですが、 1度ワークスペースに描写してからGetPixelでは 無駄な処理(ワークスペース内に描写)があって効率が悪い気がします。 デスクトップ上から直接RGB値をとりこみ、メモリ上で処理(この場合は白黒化)、 その後にワークスペース内に描写させるにはどうすれば良いのでしょうか? 質問ばかりですいません。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.