MFC,非模态对话框中[按钮]按下,获取主窗口的RGB,用gerpixel(),请问:HDC dc=::GetDC(??_)怎么取
这个语句对吗?谢谢HDCdc=::GetDC(::GetDesktopWindow());COLORREFMyColor=::GetPixel(dc,30,30);app...
这个语句对吗?谢谢
HDC dc=::GetDC(::GetDesktopWindow());
COLORREF MyColor=::GetPixel(dc,30,30);
app->color[1]= GetRValue(MyColor);
我需要,取主窗口的RGB,不是对话框的,GetDC怎么写??
我用上面语句测试,由于主窗口是视频在播放,用上面代码取RGB值时,屏幕视频闪烁厉害,并且对话框控制窗口中,取不到RGB值。 展开
HDC dc=::GetDC(::GetDesktopWindow());
COLORREF MyColor=::GetPixel(dc,30,30);
app->color[1]= GetRValue(MyColor);
我需要,取主窗口的RGB,不是对话框的,GetDC怎么写??
我用上面语句测试,由于主窗口是视频在播放,用上面代码取RGB值时,屏幕视频闪烁厉害,并且对话框控制窗口中,取不到RGB值。 展开
1个回答
展开全部
你描述有问题。你要获取的是桌面的像素。
CWnd* desk = GetDesktopWindow();
CDC* pdc = desk->GetDC();
COLORREF cr = pdc->GetPixel(30,30);
{ ... }
desk->ReleaseDC(pdc); //估计你是忘了这句
CWnd* desk = GetDesktopWindow();
CDC* pdc = desk->GetDC();
COLORREF cr = pdc->GetPixel(30,30);
{ ... }
desk->ReleaseDC(pdc); //估计你是忘了这句
追问
周洁伦之谜,你好,我不是取桌面像素。所写程序父窗口就是用来把摄像头的视频采集来,实时显示在父窗口中,然后我想通过程序中一对话框,从这个父窗口视频上不断取一个点的像素值,那这个父窗口的句柄,怎么被对话框捕捉?
我写的语句使屏幕视频显示出闪烁,也不知道是不是取的父窗口像素值,还是对话框的?
谢谢你的回答
追答
不太明白你说的:父窗口播放视频,弹出一个新的对话框,实时显示像素?
那好做,
CWnd* pr= GetParent();
CDC* pdc = pr->GetDC();
COLORREF cr = pdc->GetPixel(30,30);
{ ... }
pr->ReleaseDC(pdc); 。
闪烁可能还有一个原因,这个“实时”?你是怎么做到这个实时的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询