如果我给DLL传一个RGB数据和一个图片控件的句柄,如何在DLL中绘图,
之前没弄成功,有朋友说是找不到绘图的资源。如果在MFC窗体中,用DrawDibDraw很容易绘出来,但是把RGB和图片控件的句柄传给DLL,
让DLL来绘图片,不知道该如何获取绘图的资源。
之前没弄成功,有朋友说是找不到绘图的资源。如果在MFC窗体中,用DrawDibDraw很容易绘出来,但是把RGB和图片控件的句柄传给DLL,
让DLL来绘图片,不知道该如何获取绘图的资源。
把绘图资源传递给DLL,绘图逻辑是怎么个架构?
如果仅仅在DLL中针对窗口进行绘图而不是在相应窗口的WM_PAINT消息里,画完后是可显示的,但窗口刷新后,
刚才画的就不存在了
针对
如果我给DLL传一个RGB数据和一个图片控件的句柄,如何在DLL中绘图,
之前没弄成功,有朋友说是找不到绘图的资源。
可以 根据图片控件的句柄 为
进行绘图:
HDC dc = ::GetDC(图片控件的句柄);
....进行绘图如果实现窗口和绘图分离,可以在DLL中HOOKWM_PAINT消息,然后根据传递的“图片控件的句柄”
判断,是则进行绘图。
自己新建一个MFC工程, 然后调用DLL库文件,
并且只给DLL传递一个Picture控件的句柄,然后调用DLL的Play函数,来绘图.//传入参数是Picture或Static控件的句柄
DLL提供的接口函数 StartPlayVideo(HWND hPicture);
DLL负责采集USB摄相头的视频(RGB24), 然后在这个图片控件上绘图.
===========================
如果不封装DLL,直接在MFC工程中来弄的话,相对比较容易.
但是封装后,MFC工程使用起来会很方便.
他们的开发包,只要传递一个Picture或Static控件的句柄,DLL就会在这个控件上连续绘图,实现播放视频.
感觉使用起来很方便.