我写了个程序,程序界面装载了很多位图,程序体积比较大,6M多了,用的MFC,我还需要继续编写,但是这次位图更加大,请问能不能把位图放到DLL里面以便在用户需要代开模块时加载呢?如何做?大致介绍下。谢谢!

解决方案 »

  1.   

    搜索“资源 DLL”,而且好象DLL做成WIN32 DLL而非MFC DLL会好点。
      

  2.   

    可以将资源文件放到DLL中~一般也推荐这么做~
      

  3.   

    DLL中放的是资源的路径,资源还是放在外面的
      

  4.   

    http://download.csdn.net/source/2992414
      

  5.   

    如果你不考虑效率就把文件放到dll中或程序目录中
      

  6.   

    这种问题应该从两个方面着手解决
    首先看看有些位图是不是可以通过实时绘制的方式实现而不需要存储图片文件
    然后再将那些必须通过文件形式存在的位图看看是不是可以分解,游戏部分可以缩放来适应而减小体积
    这才是从根本上解决空间的问题
    当然后图片资源是可以放到一个纯资源dll中分离存储的
      

  7.   

    主要是看人家写的程序,主程序很小,里面有很多DLL,我想是不是放置到DLL中了。
      

  8.   

    别人写的程序的那些dll是不同的功能函数库
    很少有资源
      

  9.   

    这个我是用的先建立一个对象,然后用LoadBitmap的 可是VC编译后是一个主程序呀!位图和主程序捆绑在一起的,体积很大
      

  10.   

    不好意思,动态加载图片要用LoadImageLoadBitmap() 和 CBitmap::LoadBitmap() 都不可以从文件加载位图的。只有用LoadImage()从文件加载位图,再用CBitmap::FromHandle( HBITMAP bmp )就可以把位图放到CBitmap对象中了。
      

  11.   

    把资源放到 DLL 中吧,就像系统 的 文件夹图标,都是放到 DLL 里面的,有几十兆大小