線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:861
推到 Plurk!
推到 Facebook!

存一份bmp圖到記憶體內

答題得分者是:taishyang
asvmfd
一般會員


發表:46
回覆:30
積分:15
註冊:2004-11-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-05 14:43:09 IP:61.219.xxx.xxx 未訂閱
請問各位大大,在做扭曲變形的bmp像處理時想先存一份到bmp1, 以方便之後可以按Ctrl+Z來回復, 這個code有那個地方需要修改的嗎?怎無法秀出?
  Graphics::TBitmap *bmp1 = new Graphics::TBitmap();
  bmp1->Width  = Image1->Picture->Width;
  bmp1->Height = Image1->Picture->Height;
  Image1->Picture->Bitmap->Assign(bmp1);
  .
  .
  delete bmp;
Or有其它方法? 請指教..... 謝謝
JerryKuo
版主


發表:42
回覆:571
積分:322
註冊:2003-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-05 15:28:44 IP:220.135.xxx.xxx 未訂閱
引言: 請問各位大大,在做扭曲變形的bmp像處理時想先存一份到bmp1, 以方便之後可以按Ctrl Z來回復, 這個code有那個地方需要修改的嗎?怎無法秀出?
  Graphics::TBitmap *bmp1 = new Graphics::TBitmap();
  bmp1->Width  = Image1->Picture->Width;
  bmp1->Height = Image1->Picture->Height;
  Image1->Picture->Bitmap->Assign(bmp1);
  .
  .
  delete bmp;
Or有其它方法? 請指教..... 謝謝
asvmfd你好: 試試這樣寫
  
  Graphics::TBitmap *bmp1 = new Graphics::TBitmap();
  bmp1->Width  = Image1->Picture->Width;
  bmp1->Height = Image1->Picture->Height;
  bmp1->Assign(Image1->Picture->Bitmap);
  :
  delete bmp1;
asvmfd
一般會員


發表:46
回覆:30
積分:15
註冊:2004-11-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-07 00:03:19 IP:61.219.xxx.xxx 未訂閱
可否給個範例呢?    load一個圖檔到一個 TMemoryStream *ms1    (用TMemoryStream *ms1 = new TMemoryStream;宣告)    之後從*ms1 copy同樣內容到TMemoryStream *ms2 = new TMemoryStream;    然後再Show *ms2到Form1->Image2是要如何做?        底下是測試test1,test2是得到相同圖形,但是要從ms2秀圖就err(下圖).     
   *ms1 = new TMemoryStream;
   Form1->Image1->Picture->SaveToFile("c:\\test1.bmp");
   TMemoryStream *ms2 = new TMemoryStream;
   Form1->Image1->Picture->Bitmap->SaveToStream(ms2);
   BYTE *b=new BYTE[ms2->Size];
   ms->Read(b, ms->Size);
   ms->Size=ms->Size;
   ms->Position=0;
   ms->Read(b, ms->Size);
   ms->SaveToFile("c:\\test2.bmp");    ms->Position=0;
   //======================================
  Form1->Image2->Picture->Bitmap->LoadFromStream( ms2 );// err
   //====================================
   delete [] b;
   delete ms;
taishyang
站務副站長


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-07 10:13:04 IP:210.68.xxx.xxx 未訂閱
asvmfd您好: 您所測試的程式碼與您的需求搭不起來耶
引言: load一個圖檔到一個 TMemoryStream *ms1 (用TMemoryStream *ms1 = new TMemoryStream;宣告) 之後從*ms1 copy同樣內容到TMemoryStream *ms2 = new TMemoryStream; 然後再Show *ms2到Form1->Image2是要如何做?
  *ms1 = new TMemoryStream;
   Form1->Image1->Picture->SaveToFile("c:\\test1.bmp");
   TMemoryStream *ms2 = new TMemoryStream;
   Form1->Image1->Picture->Bitmap->SaveToStream(ms2);
   BYTE *b=new BYTE[ms2->Size];
   ms->Read(b, ms->Size);  //ms是做什麼用?
   ms->Size=ms->Size;      //這行的目的也不了解
   ms->Position=0;
   ms->Read(b, ms->Size);
   ms->SaveToFile("c:\\test2.bmp");    ms->Position=0;
   //======================================
  Form1->Image2->Picture->Bitmap->LoadFromStream( ms2 );// err
   //====================================
   delete [] b;
   delete ms;
順心
Chenbc
一般會員


發表:31
回覆:33
積分:12
註冊:2004-01-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-07 14:29:31 IP:220.130.xxx.xxx 未訂閱
ms->Read(b, ms->Size); //ms是做什麼用?==>是做存檔的動作 ms->Size=ms->Size; //這行的目的也不了解==>要存的大小. 測試test1,test2是得到相同圖形,但是要從ms2秀圖就err. 發表人 - chenbc 於 2005/04/07 23:06:07
taishyang
站務副站長


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-07 18:18:09 IP:210.68.xxx.xxx 未訂閱
您好:我照您要求的方式寫了下面的程式碼  
引言:
/*load一個圖檔到一個 TMemoryStream *ms1
(用TMemoryStream *ms1 = new TMemoryStream;宣告)*/
        TMemoryStream *ms1 = new TMemoryStream();
        ms1->LoadFromFile("1.bmp");
/*之後從*ms1 copy同樣內容到TMemoryStream *ms2 = new TMemoryStream;*/
        TMemoryStream *ms2 = new TMemoryStream();
        ms2->LoadFromStream(ms1);    /*然後再Show *ms2到Form1->Image2是要如何做?*/
        Image2->Picture->Bitmap->LoadFromStream(ms2);
        delete ms1;
        delete ms2;
順心 發表人 -
asvmfd
一般會員


發表:46
回覆:30
積分:15
註冊:2004-11-09

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-07 19:44:24 IP:61.219.xxx.xxx 未訂閱
感謝taishyang大大指教. 去買了設備回來.晚上會試,己try了好多次,看運作會順多了... thanks
系統時間:2024-05-13 3:20:14
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!