我的CBrush在for循环中什么都画不出来是什么原因?

本文介绍了一个使用MFC从CSV文件读取数据并绘制RGB颜色矩形的应用案例。作者在View类中实现了PrePainting函数,通过创建CBrush对象来设置每个矩形的颜色,并在窗口中绘制这些矩形,但遇到了显示空白的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述如下:

这是单文档的工程,在View类添加的函数,大神们,我错在哪儿了啊,求指教,为神马我的工程里面调用执行了之后,一片空白RGB没有问题,都是正常的
void CDetectDefectView::PrePainting()
{
CClientDC dc(this);

CBrush ***pBrush=new CBrush **[height];
CBrush *pOldBrush;

PNT Axy,Bxy;
int i,j;
for (i=0;i<height;i++)
{
pBrush[i]=new CBrush *[width];
for (j=0;j<width;j++)
{
Axy.x=unit_length*i*1.0e-2;//delta_x基本上在0.2左右
Axy.y=unit_length*j*1.0e-2;//delta_y基本上在0.2左右
Bxy.x=unit_length*(i+1)*1.0e-2;
Bxy.y=unit_length*(j+1)*1.0e-2;

pBrush[i][j]=new CBrush(RGB(RGB_data[i][j],0,255-RGB_data[i][j]));
//?寶嬻夋嶞丆杊巭幷?撪梕


pOldBrush=dc.SelectObject(pBrush[i][j]);//??夋嶞

dc.Rectangle(Axy.x,Axy.y,Bxy.x,Bxy.y);
dc.SelectObject(pOldBrush);
DeleteObject(pOldBrush);

}
}

}

void CDetectDefectView::Proceed()
{
ReadinCsv();
ChangeToRGB();
PrePainting();
}
void CDetectDefectView::OnFileOpen()
{




Proceed();

}
这是一个从CSV文件读取数据然后画图的过程,所以直接在OnFileOpen调用了

转载于:https://www.cnblogs.com/hfpqh/archive/2013/05/20/3089234.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值