图像显示的问题
_葫芦娃 2009-03-20 10:22:15 在做相机的图像采集程序,用的是黑白的工业相机。
我在多文档程序(Camera)中实现了相机的 图像采集,在视类CameraView的Ondraw()中调用SDK函数 FD_DrawImage(m_hDraw, (void*)m_pDataBuf, m_cbDataBuf, m_nLeft, m_nTop, m_nWidth, m_nHeight);显示了图像。
其中参数:hDraw:绘图对象句柄。
pBits:图像数据缓冲区地址。
nSize:图像数据缓冲区大小。
nLeft:图像在窗体显示时,左上角相对于窗体客户区的横坐标。
nTop:图像在窗体显示时,左上角相对于窗体客户区的纵坐标。
nPlayWidth:拉伸显示时的宽度。
nPlayHeight:拉伸显示时的高度。
为了后续处理的方便,我将图像采集的窗口和图像处理的窗口分开在不同的视图窗口中处理。
也就是说我想在点击某一菜单的时候出现一个新的窗口,并将 点击菜单前 相机采集的图像显示在新开的视图窗口中。因此我新建一个 CProcessView : public CView。然后在CameraApp中添加多视图的处理,点击的菜单在MainFrame中响应。
问题是我的新窗口和新菜单显示出来了,但是点击菜单前的相机采集图像没有在CProcessView中显示出来,我在CProcessView::OnDraw()中添加pDC->TextOut()可以显示我要的一些信息。但是我用FD_DrawImage来显示的时候程序编译没有错误,但是执行的时候出现错误窗口关闭了。
我可以获取图像的信息 有FD_DrawImage()中的参数。pDC->SetPicel()也不显示。利用这些参数还有没有其他的显示函数了,用windows自带的如Bitblt等都缺少响应的参数。
请大家多多的帮忙,很久了也不知道怎么解决这个问题。请多支持!