picture control图片实现反转色变化。我是这样写的。但是不能实现。左上角一小部分成黑色,请指导void CtestDlg::OnBnClickedStatcButton6()
{
CRect rect;
CWnd *pWnd=GetDlgItem(IDC_STATIC_pic);
pWnd->GetClientRect(&rect);
CDC *pDC=pWnd->GetDC();
int i,j;
int height,width;
for(i=0;i<rect.Height();i++)
{
for(j=0;j<rect.Width();j++)
{
COLORREF c=processingimg.GetPixel(j,i);
//if(c!=CLR_INVALID)
//{
int r=255-GetRValue(c);
int b=255-GetBValue(c);
int g=255-GetGValue(c);
c=RGB(r,g,b); processingimg.SetPixel(j,i,0);
//}
}
}
processingimg.Draw(pDC->m_hDC,rect);
ReleaseDC(pDC);}
{
CRect rect;
CWnd *pWnd=GetDlgItem(IDC_STATIC_pic);
pWnd->GetClientRect(&rect);
CDC *pDC=pWnd->GetDC();
int i,j;
int height,width;
for(i=0;i<rect.Height();i++)
{
for(j=0;j<rect.Width();j++)
{
COLORREF c=processingimg.GetPixel(j,i);
//if(c!=CLR_INVALID)
//{
int r=255-GetRValue(c);
int b=255-GetBValue(c);
int g=255-GetGValue(c);
c=RGB(r,g,b); processingimg.SetPixel(j,i,0);
//}
}
}
processingimg.Draw(pDC->m_hDC,rect);
ReleaseDC(pDC);}
错了吧。
应该是
processingimg.SetPixel(j,i,c);
谢谢,图片颜色效果貌似解决了。谢谢。但是范围貌似还是只有左上角一小块。但是rect 确实取得的picture control。能帮忙看下范围为什么不对吗?谢谢