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

有關自製元件的問題

答題得分者是:jason_cyl329
taishyang
站務副站長


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-01 00:57:41 IP:140.135.xxx.xxx 未訂閱
大家好:   現在我想把之前自己寫的影像處理Class寫成元件   但其中屬性的default值卻沒有顯示在元件檢視盤上,不知原因為何   所以想請有經驗的人可以指導一下,謝謝
//ImageProcess.h
class PACKAGE TImageProcess : public TControl
{
private:
       int Th;
       void __fastcall SetTh (int Value);
protected:
public:            __fastcall TImageProcess(TComponent* Owner);
   void __fastcall Binary(Graphics::TBitmap* ); //二值化
__published:
  __property int BinaryThreshold = {read= Th, write=SetTh ,default=80}; //二值化的臨界值,但是元件檢視盤上仍為0
};
//ImageProcess.cpp
void __fastcall TImageProcess::Binary(Graphics::TBitmap *BMP)
{
 Byte* ptr;
 int Gray;
 for(int y=0;yHeight;y  )
 {
  ptr=(Byte*)BMP->ScanLine[y];
  for(int x=0;xWidth;x  )
  {
   Gray=ptr[3*x 2]*0.299 ptr[3*x 1]*0.587 ptr[3*x]*0.114;
   if(Gray >BinaryThreshold)
    Gray=255;
   else
    Gray=0;
     ptr[3*x]=ptr[3*x 1]=ptr[3*x 2]=Gray;
  }
 }
}
//---------------------------------------------------------------------------
void __fastcall TImageProcess::SetTh(int Value)
{
 Th=Value;
}
//---------------------------------------------------------------------------
第一次練習寫元件,若問題很蠢請見諒 謝謝大家
jason_cyl329
高階會員


發表:123
回覆:155
積分:105
註冊:2003-05-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-01 10:58:04 IP:61.218.xxx.xxx 未訂閱
你可以在以下的地方加入初始的設定 __fastcall TImageProcess::TImageProcess(TComponent* Owner) : TControl(Owner) { Th = 80; }
taishyang
站務副站長


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-01 13:07:01 IP:140.135.xxx.xxx 未訂閱
jason_cyl329您好:    謝謝您,問題解決了,是我自己太豬頭,測試時沒有指定Parent所以沒有效果< > 謝謝您< > 發表人 - taishyang 於 2003/10/01 15:02:46
jason_cyl329
高階會員


發表:123
回覆:155
積分:105
註冊:2003-05-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-02 11:04:09 IP:61.218.xxx.xxx 未訂閱
哪裡,我也受過您不少的幫忙,彼此彼此!!
系統時間:2024-05-16 10:25:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!