全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1036
推到 Plurk!
推到 Facebook!

請問各位影像元件的記憶體釋放

尚未結案
yslin
一般會員


發表:5
回覆:17
積分:4
註冊:2003-11-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-31 11:51:49 IP:140.109.xxx.xxx 未訂閱
各位好: 想請教各位,當我assign很大的圖檔時,想要在做完一些處理之後把它的記憶體釋放掉,但元件稍後還要用所以不能用Free()的方式,那大家是如何做的呢? 我有看到之前有人提到用Image1->Picture->Bitmap=NULL,但這好像對記憶體沒有明顯的改善。
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-31 12:14:42 IP:140.135.xxx.xxx 未訂閱
yslin您好: 您可以參考下面連結的討論,或許有所幫助 < href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=33815">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=33815 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
yslin
一般會員


發表:5
回覆:17
積分:4
註冊:2003-11-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-31 16:16:26 IP:140.109.xxx.xxx 未訂閱
不好意思,我有個例子如下:  
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if(OpenPictureDialog1->Execute())
  {
    Image1->Picture->Bitmap->LoadFromFile(OpenPictureDialog1->FileName);
  }    void __fastcall TForm1::Button2Click(TObject *Sender)
{
  Image1->Picture->Bitmap=NULL;
  Image1->Picture->Bitmap->ReleaseHandle();
}
}
當我step over(F8) Button2Click那二行時,只有第一行的記憶體有稍降,第二行沒有作用。 我是run時,同時看Windows工作管理員那兒的PF使用量來看的。我是開一張20多MB的圖喔。 如有發言不當,請多多包含。 發表人 - yslin 於 2003/12/31 16:21:19
scott777
一般會員


發表:10
回覆:15
積分:5
註冊:2002-08-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-06 19:01:03 IP:61.230.xxx.xxx 未訂閱
// From online help
Graphics::TBitmap *Bitmap1 = new Graphics::TBitmap();
  Graphics::TBitmap *Bitmap2 = new Graphics::TBitmap();
  try
  {
    Bitmap1->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp ");
    Bitmap2->Assign(Bitmap1);     // Copy Bitmap1 into Bitmap2
    Bitmap2->Dormant();           // Free up GDI resources
    Bitmap2->FreeImage();         // Free up Memory.
    Canvas->Draw(20,20,Bitmap2);  // Note that previous calls don't lose the image        Bitmap2->Monochrome = true;
    Canvas->Draw(80,80,Bitmap2);
    Bitmap2->ReleaseHandle();       // This will actually lose the bitmap;
  }
  catch (...)
  {
    MessageBeep(0);
  }
  delete Bitmap1;
  delete Bitmap2;
發表人 - taishyang 於 2004/01/06 19:14:51
系統時間:2024-05-13 3:20:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!