如何一次回傳六張Bitmap |
答題得分者是:Zard
|
quard0314
一般會員 發表:10 回覆:18 積分:5 註冊:2003-03-05 發送簡訊給我 |
除了Form1之外,我又寫了一個新的class,讓form1引入
在新的class裡面的某個function我產生了六張圖檔
ex.
xxx.h檔的內容如下
Class A { //----一堆變數 //-----一堆函式 Graphics::TBitmap * CutWord(Graphics::TBitmap * ); } //******************// xxx.cpp //一堆程式碼.................. //一堆程式碼.................. //一堆程式碼.................. Graphics::TBitmap * car::CutWord(Graphics::TBitmap * argplate) //將一張大圖傳入,程式碼會將之分割成很六張小圖如下 { //一堆程式碼.................. Graphics::TBitmap * Word[6]; for(int i = 0;i<6;i ) { Word[i]->new Graphics::TBitmap(); /* ........一堆程式碼 */ } return xxxx; //xxx是另外一張圖,可是我不想傳這張,我想回傳前面六張 }//--------------------- 我想問的是-我要如何將我所產生出的六張圖 一並的回傳到Form1,那如果有方法可以回傳的話 我要怎麼傳,傳adress??reference?? 還有回傳的資料型態要改成什麼??麻煩各位大大解答一下感激不盡 發表人 - quard0314 於 2004/12/02 14:38:15 |
Zard
尊榮會員 發表:24 回覆:396 積分:539 註冊:2003-11-26 發送簡訊給我 |
宣告改為
Graphics::TBitmap** CutWord(Graphics::TBitmap * argplate);
下面是一個實作範例
Graphics::TBitmap** TForm1::CutWord(Graphics::TBitmap * argplate) { // 注意我是宣告成static static Graphics::TBitmap* Word[6] = {0, }; // 將這六個TBitmap分別載入一張圖做測試, 分別是C碟下的0.bmp~5.bmp for(int i = 0;i<6;i ) { if (Word[i]) delete Word[i]; Word[i] = new Graphics::TBitmap(); Word[i]->LoadFromFile("c:\\" IntToStr(i) ".bmp"); } //回傳這六張圖陣列的Address return Word; } void __fastcall TForm1::Button1Click(TObject *Sender) { Graphics::TBitmap** test = CutWord(NULL); // 取得這六張圖的陣列後再存回D碟 for (int i = 0; i < 6;i ) { test[i]->SaveToFile("d:\\" IntToStr(i) ".bmp"); } } |
quard0314
一般會員 發表:10 回覆:18 積分:5 註冊:2003-03-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |