vc6.0开发的一个绘图程序,除了要求自绘各种图形外,还要能加载各种格式的图片。LoadImage肯定是不行的,后来使用IPicture从流中加载,可gif类型的图只能显示第一个画面。又在网上找了段分解gif的代码,代码中为了显示动画开了个线程,显示一张画面后等待一段时间再显示第二张,仔细想想也不行,我如果有很多动画要加载那不是要开很多线程,再说还涉及倒很多对图片的操作。后来找到CxImage,想用这个库实现,可不知道怎么用,里面有一些图片格式类型的文件夹,没看到gif的,哪位告诉我怎么用?或者有更好的方法的话指导我一下,万分感谢!

解决方案 »

  1.   

    http://www.enet.com.cn/article/2005/0616/A20050616424664.shtml
      

  2.   

    使用 CxImage 显示 gif 动画pImage = new CxImage("g:\\test.gif", CXIMAGE_FORMAT_GIF);
        pImage->SetRetreiveAllFrames(true);
        pImage->SetFrame(pImage->GetNumFrames()-1);
        pImage->Load("g:\\test.gif",CXIMAGE_FORMAT_GIF);
    在OnTimer的处理中
        long m = pImage->GetNumFrames();
        long n = pImage->GetFrame()+1;
        if (n>=m) n=0;
        if (pImage->GetFrame(n))
        {
            pImage->Copy(*pImage->GetFrame(n));   
            Invalidate(FALSE);
        }
        pImage->SetFrame(n);
      

  3.   

    用GDI+加载图片
    Image image(L".jpg");
    Graphics gr(hDC);
    gr.DrawImage(&image, 0, 0, image.GetWidth(), image.GetHeight());
      

  4.   

    用ActiveX控件可以加载,VC6应该带有相关控件
      

  5.   

    麻烦告诉我如果只需要显示GIF的话只要哪些编译出来的.lib就可以了
      

  6.   

    查找对应的几个函数在什么lib中实现的就可以了
      

  7.   

    用过PictureEx 的类  也可以。网上有下。。
      

  8.   

    4楼的朋友能不能讲一下Image与CImage有什么不同.