2010年11月10日 星期三

WH1


1.基本圖型: 原形 長方形 正方形 六邊形 三角形
心得: 這些寫起來其實不難,因為老師上課都教過了,如果上課有注意聽,相信不用幾分鐘的時間一定都能寫出來。

2.移動功能(當滑鼠移動Button上時 圖形就會左右移動)
心得: 說穿了只是換方向,就是設定當圖形移動到那時,圖形移動的方向變成反方向 這樣一來你的圖形看起來就會左右移動。


3.橡皮擦(寫錯 可使用它)
心得: 這個功能是我花最久時間的一個,一開始我是想直接宣告一個2維陣列,讓他在圖形剛被開啟時就先存取他的色彩值,可是這個方法,好像是不可行的,我想是我哪裡寫錯了!! 因為她就是不讓我存各點的象素值,園因我也不知道,我也從中改了些許的程式碼,但還是沒辦法。後來我索性得放棄了這想法。我後來想 玩家一定會在元圖上作一些圖形之類的,如果是選擇當下在存色彩值的話一定會失敗!!因為原圖已經被破壞了,所以我用了一個Image2這樣他再怎麼破壞原圖,都只是破壞到Image1的圖,並沒破壞到Image2的圖,然後只要在玩家按下擦步這功能時 就去call Image2的色彩值 如下:
if(RadioGroup1->ItemIndex==6)
{
Image2->Picture->LoadFromFile(OpenPictureDialog1->FileName);
for(i=0;i
for(j=0;j
{
ucRed=GetRValue(Image2->Canvas->Pixels[i][j]);
ucGreen=GetGValue(Image2->Canvas->Pixels[i][j]);
ucBlue=GetBValue(Image2->Canvas->Pixels[i][j]);
if ((abs(X-i)<=10) && (abs(Y-j)<=10) )
Image1->Canvas->Pixels[i][j]= (TColor) RGB(ucRed,ucGreen,ucBlue);
}
}
4.畫筆功能(可拖移)
心得: 我是參考 網路上的


5.畫星星
心得: 她其實不難 就把她當2個三角形 來印 2個不同方向的三角形,要注意的就是2個三角形的中點,並不是同一個點,一定要在不同點,不然圖形印出來會重疊!!

3 則留言: