急求对话框中画直方图的代码,高分!
解决方案 »
- 哪里有中文版的 比较详细的介绍 PE文件格式 书 或者电子文档?
- vs2005在release调试的时候为何看不到变量的值
- 有人了解北京微视凌志图像公司吗?
- WIN2K AS、VC6中,调用RegisterServiceProcess时出错了,代码如下:
- 能否在存储过程中定义变量?
- 我建立了一个SDI工程,我想在CFormView里面在建立另外的一个CScrollView做为他的子窗口,我应该怎么做!!多谢了!
- 100分求《windows程序设计》电子档下载地址。
- 关于学vc的一个疑问!
- bmp格式转化为dat格式
- [Advanced Installer 13.5] 完成安装后和卸载完成后,怎么自动打开一个网站?
- 请教一个对话框上显示时钟的问题
- 如何在一个MFC对话框中加入一个视频窗口呢,菜鸟问题
DrawHistogram()
{
CDC* pDC = m_HistoFrame.GetDC();
long Histo;
long i, lMaxValue,lStartY;
CRect rc,rcClient;
m_HistoFrame.GetWindowRect (&rc);
lStartY = rc.bottom - rc.top - 2;
// caculate drawing rect within frame window
rcClient.left = 2;
rcClient.top = 2;
rcClient.right = rc.right - rc.left - 2;
rcClient.bottom = rc.bottom - rc.top - 2;
// calculate histogramm
ImageHistogram ((IMG)m_cvdispR.GetImage(), 0, 1000, Area, Histo);//统计像素灰度函数(自己实现)
// normalize histogram for drawing
lMaxValue = 1;
for (i=0; i<256; i++)
{
lMaxValue = max (lMaxValue, Histo[i]);
}
for (i=0; i<256; i++)//划定坐标位置
{
Histo[i] = Histo[i] * (rcClient.bottom) / lMaxValue;
}
// overdraw old histogram
pDC->FillRect(&rcClient, CBrush::FromHandle((HBRUSH)GetStockObject(LTGRAY_BRUSH)));
// draw new histogram
for (i=0; i<256; i++)
{
for(int j=0;j<6;j++)//histo width
{
pDC->MoveTo (2 + i+j, lStartY);
pDC->LineTo (2 + i+j, lStartY - Histo[i] + 1);
}
}
// free dc
m_HistoFrame.ReleaseDC (pDC);
}