在工程中使用IPicture 中的OleLoadPicture方法显示jpg图片,但是速度太慢了。请问各位还有没有其他的方法可以使用啊!
在picture控件中显示jpg图片。

解决方案 »

  1.   

    你是说将jpg图片转换成bmp图片在显示吗
      

  2.   

    怎样显示内存中的bmp图片啊。我通过网络发送数据
      

  3.   

    不是啊!VC6.0中用不了CImage类啊
      

  4.   


    图象处理方面,我一直都在用GDI+,的确是不错的选择借这地方show一下以前做个一个此类软件:
       
      

  5.   

    8楼进不去啊。
    能不能告诉我怎样将内存中的bmp图片显示到picture控件中啊
      

  6.   

    还有其他的方法,可以在MFC工程中显示jpg图片吗?要快速的那种!!!!
    谢谢各位了.
      

  7.   

    在MFC程序中显示JPG/GIF图像
      

  8.   


    抱歉,借你地方show自己软件了,呵呵。
    其实也就是用GDI+来载入图片嘛,你只要显示,载入后创建位图或者直接用GDI+画都行我的还进行了格式转换、加水印、尺寸调整等操作,这些你不需要。
      

  9.   

    对不起啊!把你的显示jpg图片的代码给我看看咯!
    谢谢了.兄弟
      

  10.   

    试了,进不去,你把jpg的部分发我邮箱吧!可以吗?
    [email protected]
      

  11.   

    void CjpgTestView::displayJpg()
    {
    //GDI
    CString strFilePath = GetDocument()->m_strFilePath;
    if (!strFilePath.IsEmpty())
    {
    m_Image.Destroy();
    m_Image.Load(strFilePath);
    HDC hdc = ::GetDC(m_hWnd);
    ::SetStretchBltMode(hdc,HALFTONE);
    ::SetBrushOrgEx(hdc,0,0,NULL); m_Image.Draw(hdc,0,0);
    RECT rectDest,rectSource;
    rectSource.left = 0;
    rectSource.top = 0;
    rectSource.right = m_Image.GetWidth();
    rectSource.bottom = m_Image.GetHeight();
    GetClientRect(&rectDest);
    BOOL rc = m_Image.StretchBlt(hdc,rectDest,rectSource,SRCCOPY);
    ::ReleaseDC(m_hWnd,hdc);
    }
    }
      

  12.   

    在MFC 对话框工程中显示jpg图片时,快速跟换图片时有看到图片的闪烁现象。请问是速度太慢还是其他的原因啊!用的是IPicture 的 OleLoadPicture方法加载显示jpg。
      

  13.   

    重载EraseBkg(),不用默认方法擦除背景就不闪烁了,只是图片会叠加,自己考虑哪种比较好