2008年4月17日 星期四

BCB問題及解決過程

對於互動媒體專題這門課,
從不習慣上課的模式,一直慢慢的去適應,
上這門課,我想最關鍵的應該就是自發自學,
如何與webcan建立連結、如何擷取影像、如何將影像儲存到陣列等,
這些的函數講義上都有給了,只是要怎麼去運用才不會出現error,
這便是一個很大的學問了。

我目前遇到最大的困難,應該就是在儲存影像陣列的部份,
講義上的程式碼,前幾行就看不懂了,

例如:

TCanvas *csBuf=new TCanvas;
//TCanvas是要做什麼用的?為什麼要宣告一個csBuf為一個新的TCanvas?
/*
上網查了TCanvas,但只查到BCB裡TCanvas這個類別中所包含的函數,
但我還是不懂這整句程式碼在這里的意思是什麼....
額外的發現是,CopyRect是屬於TCanvas這個類別中的。
*/

HDC hDC=GetDC(pane1->Handle);
//這里的 HDC 跟 hDC 的差別是什麼?為什麼這里的程式碼是這樣寫的?涵義是什麼?
/*
hDC我上網查了,是裝置代碼,那HDC呢?是做宣告的動作嗎?還是沒有查到是什麼意思...
*/

Graphics::TBitmap*Source=new Graphics::TBitmap();
//Graphics在這里的用途是什麼?還有"::"在這里是做什麼用的?
/*
後來上了知識查,查到的資料是說:
「::」是C++的語法,它的意思是範圍運算子,
例如Graphics::TBitmap,是表示TBitmap這個結構是來自於Graphics這個物件
*/


還有下面一點的:

Source->Canvas->CopyRect(Rect(0, 0, Source->Width, Source->Height), csBuf, Rect(0, 0, pane1->Width, Pane1->Height));
//這行看起來實在是非常複雜,Rect(0, 0, Source->Width, Source->Height)這些數據的意思是?
/*
這行我上了知識查,都沒有看到相關的資料,不知道是我輸入的keyword錯誤還是....?
*/


我想這些是我目前所遇到的問題,
所以對於儲存影像陣列這個章節我還是沒有很懂,
也許是我比較吹毛求疵吧@@"

沒有留言: