
這是我第一次修有關於用到bcb的一門課!!!
因為還不是很熟悉bcb,所以一開始在做作業的時候一直寫不出來...
後來還好有同學相助,我開始懂得一點bcb的操作。
能選到這門課很開心,希望以後可以在這門課學到更多東西!!!
接下來就是利用抓取色彩值得函式庫去抓取每個像素的色彩值
ucMatrixG[i][j]=GetGValue(Image1->Canvas->Pixels[j][i]);
ucMatrixB[i][j]=GetBValue(Image1->Canvas->Pixels[j][i]);
ucMatrixB[i][j]=GetBValue(Image1->Canvas->Pixels[j][i]);
GetRValue,GetGValue,GetBValue分別是對像素抓取紅色、綠色、藍色的色彩值得函式庫。
去取得每個像素的色彩值時,存到ucMatrixR,ucMatrixG,ucMatrixB裡頭。
之後再利用指標去讀ucMatrixR,ucMatrixG,ucMatrixB裡頭的值,再用以下語法輸出RGB值
Edit1->Text=**ucMatrixR;
Edit2->Text=**ucMatrixG;
Edit3->Text=**ucMatrixB;
就可以大功告成囉!


除了上課 主要還是請教同學
完成後很有成就感
雖然只有完成開啟圖片 這項功能
還有很多很多沒有學到的
希望在這堂課 可以學到更多相關的
-------------------------------------------------------
以上是我第一次打的
下面是我後來修改的(為了分數...很現實= =)
第一個作業老師部落格上就有重點
在Lee's C++ Builder Programming Notes 裡面image
就有寫到重點
這兩行是把圖片讀進myImage1(開啟 BMP 影像)
OpenPictureDialog1->Execute() ;
myImage1->Picture->LoadFromFile(OpenPictureDialog1->FileName)
利用宣告三個二維陣列 , 並用new配置記憶體空間 (動態宣告二維陣列)
ucRMatrix = new unsigned char *[iImageHeight];
ucGMatrix = new unsigned char *[iImageHeight];
ucBMatrix = new unsigned char *[iImageHeight];
for (int j=0;j { ucRMatrix[j] = new unsigned char [iImageWidth]; ucGMatrix[j] = new unsigned char [iImageWidth]; ucBMatrix[j] = new unsigned char [iImageWidth]; } 這是例外處理 跳出 catch (std::bad_alloc) { ShowMessage("Could not allocate memory...Bye"); exit(-1); } 這是用GetRValue和for迴圈抓取圖片的Pixels值取得RGB值分別存入二維陣列 ucRMatrix[x][y] = GetRValue(myImage1->Canvas->Pixels[x][y]); ucGMatrix[x][y] = GetGValue(myImage1->Canvas->Pixels[x][y]); ucBMatrix[x][y] = GetBValue(myImage1->Canvas->Pixels[x][y]); } 這個作業直接依靠老師的部落格就能動手完成 也是第一個作業 , 即使不熟bcb的同學 , 參考老師部落格就可以清楚 知道每個細節 , 這項作業是後面作業很重要的基礎 , 所以雖然之前寫 大概知道怎擺怎放 , 後來再打心得 , 才發現原來只是這樣 , 跟以前學的 c/c++觀念上根本完全相同 , 呈現方式不同罷了 , 我想這是我之後在寫心 得所發現的 -----------------------------1/19 (補) 老實說我一年級是學C語言 之後 是學java 與c++很不相同. 所以學起來很辛苦 c++是物件導向語言 , 多了可以建立實體物件的 資料結構也是學java的 那時候是 用類別class 裡面宣告 屬性 , 在主程式new實體物件 , 在用點(.) 例如:area.watch( int b) 來給初值或其他 c++ 是用箭頭(->) 所以一開始看到的時候 都霧煞煞 不過觀念都一樣 , 所以也沒有卡很久 用bcb之後 , 第一次用視窗化程式設計 來寫 , 不像以前都是開空白 #include ... 開始寫 第一次修老師的課 , 學到很多 , 不過自己"一開始"沒有花心思在上面 之後才再補齊課程內容 , 真的是很慚愧 .. 另外一提:try- catch 我從沒用過得說 例外我都是用if-else 如果要我憑空寫 我想我的程式碼應該一大串吧.. 還好有老師的部落格範例..XD
