我在窗体的左上角输出一行文字(窗体是继承的CformView类),文字是从右向左滚动,并且颜色是在不断的变化,现在我想将变化的颜色红、绿、蓝、的值写到三个编辑框中,但我发现这个值不在变化,而且值也不对,下面是这部分的代码。
我想输出第20行0像素到16像素的RGB的值。谢谢!void CBmpointView::OnTimer(UINT nIDEvent)
{
……
……
…… for (x=0; x <= 16; x++)
{
HDC hDC = ::GetDC(NULL);
COLORREF clr = ::GetPixel(hDC, x, 20);
CString ClrText;
ClrText.Format("%d",GetRValue(clr));
m_Editred.SetWindowText(ClrText);
ClrText.Format("%d",GetGValue(clr));
m_Editgreen.SetWindowText(ClrText);
ClrText.Format("%d",GetBValue(clr));
m_Editblue.SetWindowText(ClrText);
::ReleaseDC(NULL, hDC);
}
……
……
…… CFormView::OnTimer(nIDEvent);
}
我想输出第20行0像素到16像素的RGB的值。谢谢!void CBmpointView::OnTimer(UINT nIDEvent)
{
……
……
…… for (x=0; x <= 16; x++)
{
HDC hDC = ::GetDC(NULL);
COLORREF clr = ::GetPixel(hDC, x, 20);
CString ClrText;
ClrText.Format("%d",GetRValue(clr));
m_Editred.SetWindowText(ClrText);
ClrText.Format("%d",GetGValue(clr));
m_Editgreen.SetWindowText(ClrText);
ClrText.Format("%d",GetBValue(clr));
m_Editblue.SetWindowText(ClrText);
::ReleaseDC(NULL, hDC);
}
……
……
…… CFormView::OnTimer(nIDEvent);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货