如何向VC的picture控件中装入图片?是用哪一个函数装入图片的?装入图片后,如何对这张图片任意角度地旋转?

解决方案 »

  1.   

    1.静态装入法:把图片import进bitmap资源,在图片框的属性对话框中选择
       type -- bitmap,  image -- 你的bitmap资源ID2.动态装入法:void CBitmapView::DrawBackGround(CDC *pDC)
    {
    CBitmap * m_pbmp;
              if(!m_pbmp)
    {
    m_pbmp = new CBitmap;
    m_pbmp->LoadBitmap("C:\\bitmap.bmp");
    }
    BITMAP bm;
    m_pbmp->GetObject(sizeof(bm),(LPVOID)&bm);
    CDC dcMem;
    dcMem.CreateCompatibleDC(pDC);
    CBitmap* pBmpOld = dcMem.SelectObject(m_pbmp);
    CRect rcClient;
    GetClientRect(rcClient);//得到你图片框的位置和大小
    pDC->StretchBlt(0,0,rcClient.right-rcClient.left,rcClient.bottom-rcClient.top,
    &dcMem,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);}
      

  2.   

    先用GetDlgItem()取得控件窗口的句柄,
             CDC* pdc;
    pdc=GetDC(你取得的句柄);
    CDC dcMem;
    dcMem.CreateCompatibleDC(pdc);
    CBitmap bitmap;
    bitmap.LoadBitmap(MAKEINTRESOURCE(你的图像ID));
    dcMem.SelectObject(bitmap);
    pdc->StretchBlt(20,20,200,200,&dcMem,0,0,100,100,SRCCOPY);
    //pdc->BitBlt(0,0,200,200,&dcMem,0,0,SRCCOPY);
    DeleteObject(bitmap);
    dcMem.DeleteDC();
    ReleaseDC(pdc);
    关于图像旋转的,就要自己另写了,找本图像处理的书看看吧