Plurk

   

2009年10月21日 星期三

HW2

延續上一次的作業---讀入一個 24-bit 彩色 , bmp 影像 , 將其轉換成 8-bit 灰階影像儲存.

首先~我接著上次老師後來所教的繼續製作下去!!

捲軸盒的建立!

這一個步驟較簡單, 只需要選擇 Additional 分類項底下的 ScrollBox 元件, 就可以在Form中框出自己想要的捲軸盒大小喔!

*要注意的是: 要將圖片 減下 再 貼上 在捲軸框框上面喔!
(我一開始做的時候就沒有照著老師說的所以就跑不出來)



放入捲軸後呈現出來的樣貌

可以上下左右滑動唷! ( 以捲將圖拉到可看到右下角 )




到目前為止 都還算是簡單 但從下一個步驟開始就讓我覺得有些複雜


要在 Form 上顯示出所 Show 出來的圖片為幾位元

這是照著老師所教的 用 Switch 去判斷




我的圖片是屬於24位元的圖 (哈哈~其實彩色的圖幾乎都是24位元點陣圖)




再來就是重點啦~要將 24 位元圖轉換成 8 位元灰階圖

利用 for 迴圈 且 讀取每個點的顏色除以三原色所顯示出的圖片

*(R+G+B)/3




這樣就可以將圖片轉換成灰階圖了!

要記得做一的 Button 按鈕喔! 要把程式碼打在 Button Click 裡面, 這樣就可以將按鈕按下使要轉換的灰階圖顯示出來唷! 超神奇!

我還Show了一個 Message 讓你知道有轉換成功喔!






但是 不知道為什麼 已經轉換成灰階圖 卻還是顯是為24位元的圖
請老師為我解答~

再來就是最後步驟啦~製作完一個檔案, 當然也要把他儲存起來! 不然就沒有檔案可以找尋也不能回憶嚕@ @ 就好像白做工一樣!




這個步驟完成後就可以方便的將轉換後的灰階圖儲存起來了!





我將轉換過後的灰階圖另外儲存新檔 檔名為 " PRADA時尚派對_灰階圖 "

當時在課堂上練習時, 超級有挫折感, 一直很混淆, 但最後還是有做出來, 雖然作很慢 , 但挫折感就沒那麼大了, 真的要花時間下功夫, 不然我的挫折感會越來越大, 這樣就麻煩嚕!



HW1

先製作一個MainMenu , OpoePictureDailog.
















要使圖片可以Show出來就要寫上一行程式 , 要使用Image , 但當時我忘記要去老師的部落格找還問了一下同學 , 才想起來可以到老師的部落格去找 ,才使我的照片可以大方的show出來. 看到圖片跳出來時有小小的成就感耶!








我使用的是多色彩且是今年最具有時尚風格的一張圖!











----------------------------------------------------------------






點選Lable(標籤) 製作滑鼠游標X ,Y軸. 還有 三原色色彩值.
















接著我要使滑鼠移到圖片上時能跑出X軸和Y軸的座標值.色彩值.





先是在框出的範圍框框點一下在到左邊的Object Inspector / Events 下點選是要當滑鼠一動到圖片究顯示該XY軸值和色彩值 , 還是要點一下再顯示出來都可以 , 在點兩下就可以編輯程式了唷!





我選擇的是移動到圖片就可以顯示(OnMouseMove).


這時我才知道 lbl 就像 int一樣 是一個變數型態 可以去設X 和 Y.


但我卻忘了 AnsiString 這個東西 , 怎麼打都覺得怪怪的 ,問了我的好同學才知道這個要記住!








打出了X 軸 還有 Y軸的程式碼 , 相對的也要打上三原色的程式碼 紅 綠 藍 .





但要記得! 老師有提醒到說 Label的名稱要在Properties下的Name裡面改.


我在上課練習時就有犯這個錯誤 (在Caption裡改名稱是錯的喔!) !!













----------------------------------------------------------------








點選 Panel 製作使滑鼠經過圖片時可顯示滑鼠所指的顏色.
















我選擇把Panel中的 " Panel1 "的字刪除,這樣比較好看(當顏色顯現出來時比較不壞礙眼).


也把原先恢恢醜醜的顏色改掉 ,改成藍色.





接著也是照上面的方法進入寫上程式碼 . 放入三原色的程式碼 .


我將滑鼠移到了桃紅色的地方, 所以Panel中會顯現出桃紅色.


不管我的滑鼠移到哪個區塊的顏色 , Panel中都會乖乖的顯示出我要看到的顏色喔!
















----------------------------------------------------------------








製作畫筆 , 使得畫筆可在圖片上畫出線條或圖形.



*但要先在 Unit1.h 標頭檔裡的 private 打上需要的變數.













這個部份我就覺得比較困難 , 參考了課本第11-33頁到11-35頁.


才發現還要利用到標頭檔裡的東西去打上需要的變數 .我真的是要看花了眼呢!!












------------------------------------------------------------------



後來發現如果沒有指定畫筆的顏色 , 就只會畫出 所預設的"黑色".


不管選哪個顏色畫出來的顏色都是黑色 , 我超納悶 , 真的是不知道是為什麼耶!

點選綠色 , 畫出來的卻是黑色?!















紅筆圈起來的就是點選 綠色 所畫出來的 黑色.












-------------------------------------------------------------------



我還是請教了我的好同學....





所以要再加上 指定畫筆的程式碼 DrawColor=ColorDialog1->Color










才能畫出所點選的顏色.




*圖所點選畫筆顏色 畫出的是 藍色(上) 和 綠色(下).





哇!! 終於啊! 這樣就可以讓我想畫什麼顏色就畫什麼顏色在圖片上啦!!
我就隨便點兩個顏色先畫畫看! 藍色(上) 和 綠色(下).


真的顯現出我所點選的顏色耶!













----------------------------------------------------------------






就開始重新跑一遍我所製做的東西...



但在用畫筆時 , 當滑鼠點在圖片上畫線時 ,


不知道為什麼會有奇怪的影像 ,就是圖片會一閃一閃的...why?





我畫了紅色 , 綠色 , 黃色 的線.












*圖所顯示的就是此製作的總表現



可以 Show出圖 / MouseMove在圖上的 X(363) Y(15) ,


三原色色色彩值Red(1) Green(1) Blue(1) . Panel顯示出黑色 .



點選 Edit 裡的 ColorPanel 選擇畫筆顏色 , 使得可以在圖片上畫上線條或圖形(使用了 紅 , 綠 , 黃 ).





--------------------------------------------------------------------------------------------



呼~終於完成了! 第一堂課看老師再做按鈕元件時就有嚇一跳說原來可以自己做這些東西唷!

好酷喔! 可以自己設計想要表現的東西!就感到很有趣!但這次的作業做下來還是有感覺到是

有困難的 ,還是有些細部的地方要去注意! 上次上課就有被老師糾正了錯誤的地方!我有記起來喔!

還有詢問我的好同學也和他一起討論.

之後還會有更多的東西(BCB)可以玩吧!真的要好好的運用這本厚厚的課本!還要認真看老師製作的步驟 不然輪到自己製作時就一頭霧水嚕!