RT

解决方案 »

  1.   

    就是有一张JPG或者BMP格式的图片文件,我需要在程序运行时导入这张图片并将其显示在程序窗口的客户区域中
      

  2.   

    如果是bitmap就先CreateBitmap,然后响应pdc-〉bitblt显示就行了;如果是JPG就要复杂点,去下个打开JPG文件的库,用google搜索很容易找到,然后调用库里面的函数显示。
      

  3.   

    CRect rect;
    GetWindowRect(&rect); CDC memDC;
    CBitmap cBitmap;
    CBitmap* pOldMemBmp = NULL; //将背景位图加到设备场景中
    cBitmap.LoadBitmap(IDB_BACK);
    memDC.CreateCompatibleDC(pDC);
    pOldMemBmp = memDC.SelectObject(&cBitmap); //将背景位图显示出来
    pDC->BitBlt(0, 0, rect.Width(), rect.Height(), &memDC, 0, 0, SRCCOPY);
    if (pOldMemBmp) memDC.SelectObject( pOldMemBmp );
      

  4.   

    JPG文件可以先转为BMP格式,再和其一样处理,方法很简单,用画图打开JPG文件,再另存就行!!!
    用pDC->StretchBlt(rect.left,rect.top,rect.right-rect.left,rect.bottom-rect.top,
      &memDC,0,0,cBitmap.bmWidth,cBitmap.bmHeight,SRCCOPY);
    可以改变位图大小显示
      

  5.   

    CDC memDC;//内存设备场景
      CBitmap cb;//位图类对象
      CRect rect;
      GetWindowRect(&rect);
      cb.LoadBitmap (IDB_BITMAP1);//载入资源
      memDC.CreateCompatibleDC (pDC);//创建内存设备上下文
      CBitmap *oldbitmap=NULL;
      oldbitmap=memDC.SelectObject (&cb);//将位图选入当前设备场景
      pDC->BitBlt (0,0,rect.Width (),rect.Height (),&memDC,0,0,SRCCOPY);//将内存场景的图象拷贝到屏幕上
      memDC.SelectObject (oldbitmap);
      

  6.   

    anbull(桉)师兄,如果bmp图象已在系统磁盘的内存里,难道还要调用CBitmap类的成员函数CreateBitmap()吗?
    wangyuanwai(王员外)及SurStar(断水流)师兄,对于不能引入资源且又想通过bitmap.loadbitmap(要打开的位图文件名(在系统磁盘的任意地方,你只知路径,并不知详细内存地址)),如何编程实现显示操作?
      

  7.   

    可以 用OLE IPicture 接口