2010年11月10日 星期三

HW1 98360755



這次我做的是可以畫三角形的東西

一開始可以讀取一張圖片!

會出現圖片位置!

在來按鈕可以擴張圖片的範圍!

然後可以看到你滑鼠點的位子!

還有點的那點的顏色數值和顯現出顏色!

三角形可以用右邊的顏色籃來換三角形的顏色!

最後可以存取這張圖片!令存成新畫好的一張圖片!!
心得:
一開始做的時候,因為不太熟這個介面!所以慢慢的摸索~
這次作業!有點困難!我也弄了很久~雖然我覺得我弄得沒有別人的那麼好!
但我也努力的把東西弄出來了~當然也請教了許多人
不管是物品的擺放,還有位子,和程式碼的編打,都讓我吃盡苦頭!
像是圖形換顏色的這個部分!就讓我在電腦桌前面思考了很久呢!
幸好最後可以把他弄出來!真的事很開心~
原本想要多做一些圖形的,但是發現做不太出來!
我可以把三角形直接換成另一種形狀!
但我沒辦法做出按鈕讓圖形變成別得圖形!
雖然努力過了~但還是沒辦法弄出來!
但也很開心有這次得作業!讓我可以學習到許多東西~

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個三角形的中點,並不是同一個點,一定要在不同點,不然圖形印出來會重疊!!











左上方File有個開啟圖片檔和儲存圖片檔
左上方的調整 是小畫家的型式 可以畫畫 可以選畫畫的顏色還有清除還有橡皮擦功能
中間有2個radiobutton鍵可以選擇要按多邊形(出現是六邊形)還是圓形 你可以選擇左鍵還是右鍵(左右鍵顏色各不同)
左邊是開圖片檔的 右邊是畫畫用的
你在圖片檔上不管是左鍵右鍵都會顯示坐標
前面幾張是我第一次完成品

最後一張是我最後把他完成的



第一次上課 老師講了很多有關數位概論的東西
讓大家深刻了解甚麼是數位概論
但我覺得最難的還是BCB
一堆指令一堆英文
很多指令程式碼還是看不懂
後來我試過找BCB中的知識書
結果電腦直接當機給我看
整個晚上一直重複做重複做
做到我都想把電腦給摔了
後來發覺其實他並不難
他很多程式碼都很白話

只是都是英文你看不懂就是了

這項指令只向那邊或者是那邊的指令只像這邊


這門課還蠻有趣的

雖然有時候有點力不從心

但是我還是會努力得

HW1




檔案: 開啟.存檔
檔案名稱.座標.顏色表: 都能顯式開啟圖片的資訊
工具: 畫筆和橡皮擦,
多一個"不用任何工具"的RadioButton是因為當我按了畫筆或橡皮擦後
沒法變成不用工具的情況下點選圖片,所以才會有這個選項
預設印出的圖案: 有用到老師之前上課所教的正方形和圓形
改變顏色:改變畫筆的顏色
清除:把整個Image裡的資料清空

這個小畫家有加上之前上課所教到的資料,目前可以使用最基本小畫家的功能
但還是有疑問....當使用畫筆和橡皮擦時,為什麼畫面會閃個不停?



Hw1





 









↑ 這是開啟圖片

我的小畫家裡面的功能包含開啟圖片、儲存圖片、
選擇使用繪畫工具以及圖形顯示。

繪畫工具與圖形顯示都可以變化顏色,
同時可以也將圖片從何處開啟的位置顯示出來,
除此之外也可以將修改好的圖片存檔起來。












↑ 這是利用製作後的其他元件修改的圖片

當滑鼠點到哪,那個座標就會顯示出來。
左上角的Coffee是利用繪圖工具的畫筆寫的。
Change Color可以跳出調色盤選擇顏色。

而下面的正方形、三角形、圓形、以及六邊形
都是利用上面的RadioButton選擇後所畫出來的。

當選擇圓形時,
點左鍵就會畫出自己所選擇的顏色,點右鍵則會畫出圖片本來的顏色;
若選擇正方形,六邊形以及三角形的話,
點左鍵會畫出自己所選擇的顏色,點右鍵則會畫出圖片本來的顏色,
但外面則有可更改自己所選擇顏色的外框。

猴子上面的白色"X"是我利用橡皮擦擦過的痕跡,
右下角的愛心則是利用筆刷畫出來的。

而那個All Clear的按鈕則會將畫面內所有的東西連同開啟的圖片一起清除掉。


心得:

  其實我的小畫家裡面大部分的程式多半都是上課時老師有教過的指令。
或許是因為跟大家一起留下來做作業的關係吧!在撰寫的過程遇到的問題並
不多,有問題或是不懂的地方時,問問一起寫作業的同學們,大家都很樂意
告訴我,互相交流的感覺其實很不錯。可是我自己有時候會因為粗心犯一些
忘記宣告的小錯誤,導致程式無法執行,還好最後都有成功debug,解決問
題。
  雖然這次的作業完成了,但總覺得自己還有做得不夠好的地方,像是沒
有做筆刷大小的更改等等。不過這次的作業讓我學到不少,到目前為止也都
覺得這堂課很有趣,讓我期待以後的課程:)

HW1

大家好 這是我設計的
無敵陽春未完成版小畫家
這是初始執行畫面
MainMenu中的File有
open→開檔案
save→存檔案
close→離開程式 (可是不會判斷使使用者有沒有編輯並做存檔 所以...)

畫面中Color右邊的按鈕是利用Panel元件
點下去會連結到ColorDialog元件
然後使用者就可以盡情的選擇你想要的顏色啦!

畫面中PenSize右邊的下拉選單是利用ComboBox元件
我設定了10種筆刷的大小 其實就是1~10拉
點選後搭配使用下列繪圖方式筆刷大小就會改變哩!

再來畫面旁邊就是選擇繪圖方式 使用的是RadioButton元件
None→不做任何的動作
Line→畫線
Rectangle→畫矩形 (結果只能畫正方形 囧)
Circle→畫圓 (只有一種大小的圓XD)
Eraser→橡皮擦(只有線條模式)

至於右上方的幾個參數
FileName→開外部圖檔的時候會顯示檔案來源
(X,Y)→顯示滑鼠移動到畫布上的座標
(R,G,B)→顯示滑鼠移動到畫布上所顯示顏色的三原色參數

總結:
上面小字的部分 就這個程式的BUG點...
其實還有些BUG還沒弄好
比方說 選擇筆刷大小後,畫圖的樣式要重新點選才能畫圖...
這問題我一直弄不好

未來這個無敵陽春小畫家還要做些更正
除了把上面的BUG處理好之外
還要新增一些功能
比方說 開新檔案 畫更多種不同的圖形....


最後附上一些執行圖

(包含使用了畫線,畫矩形,畫圓,橡皮擦,改變顏色,改變線粗等功能)

(也可以開外部的圖檔喔)

(外部的圖檔也是可以編輯的)


以上
最後祝大家期中考順利(茶)

HW1

小小小畫家:
左上的FILE:
開圖片檔案與存圖片檔案
圖片會出現在左下方圖片區

目前可畫簡單的圖形
右下方可選擇(radio button這東西在之前使用VC2008就用過BCB也有,很好用!)
圓形,正方形,矩形,三角形,六邊形


顏色更改:

右上方有大大的調色盤,滑鼠左鍵是點出調色盤上 的顯示FG的顏色,滑鼠右鍵是點出調色盤上的顯示 BG的顏色右下的方塊式顯示滑鼠目前點選圖案的 色彩中間的按鈕能使圖片區的範圍變大,向橫發展

較多BCB的功能不太會使用,也未做出更多更好的功能EX:畫筆,橡皮擦,多項圖形設計....等等
替換了顯示BCB的圖案(左上方),改好玩的!介面上也較不美觀,試著想更換背景為自己所想設
定的圖片,不過失敗了= ="!BCB蠻有意思的!也去網路上查詢一些BCB的東西(元件使用及介紹)





HW1

這次的作業式製作一個繪圖應用程式,以下是我的功能介紹 :



<< 開啟檔案、儲存檔案、調色盤 >>



(A)開啟圖片後,若圖片大小不合,按下"Enlarge",可恢復圖片完整的畫面。





(B)在旁邊的選項中,可以選擇自己喜歡的圖案。

有圓形、正方形、六邊型、長方形、正三角形和倒三角形。


(C)在"Color"的框框,可以看到滑鼠點到圖片該點的顏色,

在上方還可以看到該點的坐標及RGB。
心得 :
第一次使用BCB,操作速度超慢,加上又是英文介面,根本就是龜速。不過上了幾堂課後,覺得BCB很有趣,有很多不同的元件可以使用。
之後面臨的問題,不外乎就是程式碼了,因為有些元件指令,不知道怎麼動作,有好多TCanvas裡的東西都不會用;還好老師上課告訴我們程式碼的寫法,還提供程式碼給我們參考,下課還有同學可以詢問、加上網站搜尋,讓我在製作的過程中,許多問題都迎刃而解。






HW 1


一個小小畫家,
可以放圖片的小程
式, 可以用很多的
顏色畫圓形, 正方形







File
├── Open(開啟圖片)
├── Save(儲存圖片)
└── Close(關閉程式)

Style
├──Circle(圓形)
└─Square(正方形)

滑鼠左右鍵, 都可以畫圖喔
左鍵(FG)
右鍵(BG)

在撰寫BCB的時候, 因為第一節課還在選課時段, 並不知道排隊已經排到
在下禮拜來的時候, 一直聽老師在說BCB, 其實聽得很不清楚, 一直聽到
"DVD" 我就問什麼是DVD? 就有人說是"Borland C++ Builder"啦!!
這是我第一次聽到這版的C++, 之前寫的是C++的另一個視窗程式MFC
但是比較常寫的還是VB, 用.Net Framework 的程式語言, 在畫圖方面
都要先creat一個畫布, 再用BCB寫的時候, 沒有這個步驟, 感覺怪怪的
而且多了"->"這個符號, 在VB 則是, "."或"="比較多, 還有 "==" 在IF(裡面)
在這裡卡好久, 每次DeBug都沒錯, 就是功能有點怪怪的, 找了好久才找出來
在完全想要家自己想要家的功能的時候, 都會用VB的寫法, 但是往往都會錯
才把自己知道的改一下, 不懂得都會上網找, 但是都要找好久, 都沒有門路 :(
其實自己積了很多問題, 不是跟老師不熟, 就是不知道要問哪個老師才會得到解答
希望老師可以讓我多多問問題 :)

給個意見吧!! 請在下面留言, 謝謝 :目

HW1


















這是自己設計的小畫家介面,
先介紹裡面的介面,
首先是左上角那一塊,
Dialog區(不含最左邊凸出的那一塊),
我放了 SavePictureDialogOpenPictureDialodColorDialogPrintSetupDialog
最左邊的 MainMenu 我設定了:
File(F)區:New(N) Load(L) Save(S) Exit(E)
Edit(E)區:UnDo ReDo
Tool(T)區:Pen(P) Line(L) Eraser(E)
再來就是旁邊的文字,
File Name」是紀錄引用圖檔的來源,
(XY) 是說明在 Image區 所點的位置的座標,
(R,G,B) 是說明在 Image區 所點的位置的顏色,
而下方的虛線區是 Image區
他可以將引用的圖檔放入此區,
但是只能引用 BMP ICO EMP WMF 類型的圖檔,
再來是右下角的六個方框,
那是我用 SpeedButtn 設定成一個群組,
而上面的小圖示我用「正宗小畫家」自己畫的,
可惜尚未把功能啟動,
最後...啊不是...還有隱藏功能稍後再說,
右下角的顏色方塊是用 CColorGrid(顏色的使用也是尚未設定),
真的是最後了,
隱藏的兩樣功能:
(1)畫直線:使用者可以在任何地方(除Image區)畫直線,直線設定預設值是黑色跟寬度2。
(2)畫多邊形:使用者可以在 Image區 上進行多邊形的繪畫。

以上是我的自製小畫家內容報告
心得:
之前我對多媒體應用的相關課程都蠻有興趣的,
但是平常的課程大多跟多媒體沒有直接關係,
直到我來到這堂課,
做了這個作業,
才覺得之前學的東西總算有發揮的地方了,
平常我有程式問題大多是找人幫我看程式碼,
但這次我是自己上網自己找資料,
還好網路資源非常豐富,
提供了我許多靈感,
所以,
這次的作業除了找回我之前所學的感覺之外,
還讓我有更多的自主的機會,
以上報告結束。