请问如何释放Image中的内容、要释放后Image还能继续使用,即不要使用image.free或Image:=nil。望请指教,万分感激!!!

解决方案 »

  1.   

    我载入了一张图片,然后将其放大缩小了数次后,在windows2000的管理器中可看到占用的内存由原来的3MB上升到数十MB,放大缩小的次数越大,占用的内丰也就越大。所以我想将Image中的内容清除掉,然后再重新载入,我想这样子就不至于会占用那么大的内存。如果用Image.free,那么再执行Image.Picture.Bitmap.Canvas之类的语句将会出错了。Image1.Picture := nil;也同样不可取,My gad,没其它办法了吗?
      

  2.   

    虽然可以用Image1.free;Image1:=TImage.Create(nil)这样子来实现完全刷新,但这样子将会大大的降低了速度。
      

  3.   

    看一看TBitmap的 Dormant(释放GUI资源), FreeImage(释放内存,图像仍在), ReleaseHandle(完全释放)。 可能会有些帮助。