DrawImage(m_pBmp,destRC,0,0,source_w,source_h,UnitPixel);
 原图很大13M,我本意是用这个语句只将原图中指定的部分画到m_pBmp中,但是经过多次试验发现: 当destRC.width<source_w&&destRC.height<source_h时 ,程序占的内存为30M而一旦不符合这个条件时,程序占140M 不知道是什么原因 ?按试验来说:当将原图缩小时,画图时,只将处于视图的部分绘制   可以减少内存使用当将原图放大时,无论你将原图的哪一部分绘制到视图中,所用的内存与图片整体绘制到内存中一般 不知是什么原因。  不能减少内存的使用   也就是说:使用GDI+ 缩小图片时 ,能够只拷贝图片的部分区域,从而达到减少内存目的。                      但是,使用GDI+放大图片时,虽也能拷贝图片部分区域,但使用的内存 与将原图片整个拷贝时使用的内存相同。

解决方案 »

  1.   

    ctrl+alt+delete  就可以查看内存咯呀
      

  2.   

    GDI+缺点就是速度慢和内存占用大,
    我一般在使用时,
    建议将 GDI+的位图给制到BITMAP,
    再释放 GDI+位图。。
    然后对BITMAP操作。。
     GDI+和 GDI配合使用。