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

BCB程式執行的問題

答題得分者是:andychang1690
fu3751
一般會員


發表:16
回覆:10
積分:5
註冊:2004-04-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-14 11:38:12 IP:203.70.xxx.xxx 未訂閱
讀入一影像檔後 執行下列一程式,目的是將影像檔每一pixel的RGB值 存入p q r三個矩陣中 執行中卻出現錯誤訊息 如附圖所示 請高手協助解決,謝謝 void __fastcall TForm1::getRGB21Click(TObject *Sender) { int i,j; int p[300][300],q[300][300],r[300][300]; int h = Image1->Picture->Bitmap->Height; int w =I mage1->Picture->Bitmap->Width; Graphics::TBitmap *Bmp1=new Graphics::TBitmap(); Bmp1->Assign(Image1->Picture->Bitmap); for(i=0; i < h ;i++) {   for(j=0; j < w ;j++) {       p[i][j]=GetRValue(Bmp1->Canvas->Pixels[i][j]);       q[i][j]=GetGValue(Bmp1->Canvas->Pixels[i][j]);       r[i][j]=GetBValue(Bmp1->Canvas->Pixels[i][j]);     }   }   }     發表人 - fu3751 於 2004/08/14 14:50:11
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-14 14:49:50 IP:218.169.xxx.xxx 未訂閱
看不到錯誤訊息. 猜測有兩各原因 1.陣列大小錯誤 2.for迴圈錯誤
for ( i =0 ; i < Bmp1->Width ; i   )
{
 for ( j = 0 ; j < Bmp1->Height ; j  )
 {
  p[i][j]=GetRValue(Bmp1->Canvas->Pixels[i][j]);
  q[i][j]=GetGValue(Bmp1->Canvas->Pixels[i][j]);
  r[i][j]=GetBValue(Bmp1->Canvas->Pixels[i][j]);
 }
}
fu3751
一般會員


發表:16
回覆:10
積分:5
註冊:2004-04-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-14 15:00:04 IP:203.70.xxx.xxx 未訂閱
如何將陣列大小設定成隨讀入的影像大小而改變
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-14 15:22:43 IP:61.142.xxx.xxx 未訂閱
GetRValue(),GetGValue(),GetBValue(),傳回是byte 將int p[300][300],q[300][300],r[300][300]; 改成byte p[300][300],q[300][300],r[300][300]; 試試看,請參考! Andy Chang
------
Andy Chang
系統時間:2024-05-20 22:25:43
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!