1.在VC6下使用GDI+进行画一条直线,初始化已经做好。
2.界面中有picture控件 IDC_PHOTO。
3.想把线划到DC_PHOTO中。注:网上看到GDI+的例子大多都在单文档中进行处理的(onDraw),MFC中的相关例子非常少,如果有源码或者例子也可以参考一下,谢谢大家了

解决方案 »

  1.   

    ppcd = GetDlgItem(IDC_PHOTO); 
    CDC *pDC = ppcd->GetDC(); 
    Graphics graphicsM(pDC->GetSafeHdc());
    graphicsM.DrawImage();
      

  2.   

    CWnd *ppcd; 建立一下就可以了graphicsM.DrawImage();  //提示错误error C2661: 'DrawImage' : no overloaded function takes 0 parameters 缺少参数
      

  3.   

    graphicsM.DrawImage(...); 
    里面跟你的参数,自己去看一下GDI的DrawImage使用方法
      

  4.   

    我做过不是单文档的,是对话框的,图像显示在静态控件(IDC_STATIC):
    1. 取控件的m_hWnd: GetDlgItem(IDC_STATIC)->m_hWnd;
    2. 取设备描述符:
            HDC hDC = ::GetDC(m_hWnd);
    PAINTSTRUCT ps;
    ::BeginPaint(m_hWnd, &ps);
    SetStretchBltMode(hDC, COLORONCOLOR);
    3.将IplImage的imageData复制到BITMAPINFOHEADER变量,注意图像的宽度、高度、通道,Windows只能显示3通道的Bitmap4.调用一下StretchDIBits,
    5.释放资源:
    ::EndPaint(m_hWnd, &ps);
    ::ReleaseDC(m_hWnd, hDC)
      

  5.   

    补充一点:画线最好用cvLine在IplImage里面画线,然后在拷贝数据到Bitmap里面