图像显示的问题

_葫芦娃 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等都缺少响应的参数。
请大家多多的帮忙,很久了也不知道怎么解决这个问题。请多支持!

...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljluck7687 2009-03-26
  • 打赏
  • 举报
回复
pDC->TextOut输出正确,说明DC没有问题

估计你调用FD_DrawImage的参数传递不正确,以致发生错误
_葫芦娃 2009-03-26
  • 打赏
  • 举报
回复
谢谢大家的支持,单步调试出来了,传递参数的时候的指针是空的。所以........
谢谢各位了。
试验工程师 2009-03-26
  • 打赏
  • 举报
回复
不一定是FD_DrawImage的问题。你确认点菜单前已经将图像信息保存在m_pDataBuf中了吗?如果没有,肯定不能显示
virtualfunction 2009-03-25
  • 打赏
  • 举报
回复
检查下,数据在两个类之间是否共享,或有获取方法?
_葫芦娃 2009-03-21
  • 打赏
  • 举报
回复
m_hDraw 绘图对象句柄,那些参数忘记加 m_
菜牛 2009-03-21
  • 打赏
  • 举报
回复
m_hDraw是个什么东西?看来看去就这个可能和窗口有点关系,可能有什么函数来设置绘制的目标?
_葫芦娃 2009-03-20
  • 打赏
  • 举报
回复
相机提供的SDK上面没有这些操作说明。因为我的设计需要,所以要这么做。
bitxinhai 2009-03-20
  • 打赏
  • 举报
回复
看看相机的说明书,上面应该有应用的方法和开发的实例
_葫芦娃 2009-03-20
  • 打赏
  • 举报
回复
为了后续处理的方便,我将图像采集的窗口和图像处理的窗口分开在不同的视图窗口中处理。
因为是在两个不同的视类中显示,所以很迷茫..........

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧