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

如何將一張影像丟入自行編輯的class 中的fuction

尚未結案
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-29 17:45:17 IP:140.135.xxx.xxx 未訂閱
以下是我自行編輯的 Image_process.cpp class Image_process { private : //---- public : void gray_level(//傳入的影像的變數的資料型態); }; void Image_process::gray_level(//接收影像的資料型態及變數) { // 影像處理 } //--------------以下為Unit1.cpp的內容 TForm1 *Form1; __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } void __fastcall TForm1::Button1Click(TObject *Sender) { Image_process * bbb; bbb->gray_level(/*想傳入的影像*/);// <-------要怎麼傳阿? bbb->gray_level(Iamge1)??? } //--------------- 請問:假如在form 上有張 image1的影像要丟入class中的gray_level 我要如何將整個image丟進去呢??傳入的資料型態為何?? 麻煩各位大大替小弟解答一下....thanx ps .Unit.h 已 #include "Image_process.cpp"
JerryKuo
版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-29 18:04:56 IP:61.220.xxx.xxx 未訂閱
quard0314你好: 我是建議不要傳TImage到函數處理,因為會很慢 => imageprocess(TImage tImage) 你可以把圖片資料先複製為二維陣列,或是一維陣列 再把二維指標或一維指標放到函數處理會比較好. 至於怎麼複製,先前就有很多篇文章討論過,你可以找看看 這樣你傳值就比較不用傷腦筋^^
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-29 18:16:11 IP:140.135.xxx.xxx 未訂閱
引言: quard0314你好: 我是建議不要傳TImage到函數處理,因為會很慢 => imageprocess(TImage tImage) 你可以把圖片資料先複製為二維陣列,或是一維陣列 再把二維指標或一維指標放到函數處理會比較好. 至於怎麼複製,先前就有很多篇文章討論過,你可以找看看 這樣你傳值就比較不用傷腦筋^^
jerrykuo 你好.... imageprocess(TImage tIamge) <---這樣似乎過不了compiler...>< 至於複製iamge的資料至指標再傳參數我之前試過的確可以 可是我現在想試試看是否能夠把整個image丟進去然後再從的我副函式作處理 麻煩大大替我解答囉~~~拜託拜託..感激不進...><....
Royce520
高階會員


發表:18
回覆:157
積分:100
註冊:2002-09-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-30 03:38:56 IP:61.216.xxx.xxx 未訂閱
quard0314 你好,   怎麼會想要把 整個TImage物件 傳進去呢?   那你不是還要傳出來??  正確 且 快速的方法   是傳遞物件指標(pointer)  再者, VCL 元件都是   借由指標傳遞的, 所以的你程式碼  可能如下安排:    class Image_process { private :  Graphics::TBitmap* m_pBmp; // 用以儲存欲處理的影像資料的指標    public : void gray_level(Graphics::TBitmap* argBmp); }; void Image_process::gray_level(Graphics::TBitmap* argBmp) { // 影像處理 }    有關 TBitmap 或者是 TImage 的細節 請勤查 使用說明(加油!) 當然像JerryKuo 所說轉成一般陣列也行, 端看你的應用與應用上 的限制與要求了... <><>*真實的事物最美, 簡單的道理最好, 我能體會的 太少*
------
不要忘記呼吸,不要忘記編程! ∩__∩
JerryKuo
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-30 09:40:05 IP:61.59.xxx.xxx 未訂閱
quard0314你好:    在我的觀念,TImage是當作一張畫布,他是固定的物件(或是容器),只要丟東西 (TBitmap)餵他,他就會秀出圖(很抽象吧)。程式應該是傳一張圖(TBitmap)比傳 一張畫布(TImage)好,因為你擷取TImage資料時,真的比TBitmap慢上好幾百倍 我就有親身經驗。 用
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-30 12:30:53 IP:61.59.xxx.xxx 未訂閱
感謝jerry & Royce 板友的回答 原來TBitmap 的觀念和用法是如此.. 感謝各位大大的指導 真的非常感謝..~~~~< >< >
系統時間:2024-04-25 19:43:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!