顯示具有 97360111 郭孝賢 標籤的文章。 顯示所有文章
顯示具有 97360111 郭孝賢 標籤的文章。 顯示所有文章

2010年1月16日 星期六

HW8

這學期就這樣結束了,這門課也告了一段落。我第一次作業的時候就說過了。我當初是因為對多媒體學程相關內容有所興趣才選門課程的,但上過幾次後學的大多數BCB的程式寫作讓我頗適應不良。雖然知道老師的用心,但畢竟跟一開始的期待有所落差還是不免有點不滿的情緒。所以一開始的BCB我真的沒有盡心的在學,以至於後面進度時在有點跟不上。

之前老師有跟我說過我想學的東西或許不是資工的多媒體學程,而比較偏向數媒系在學的東西。可是之後自己想了想,數媒的東西固然比較有趣。但在資工也能學到不少關於相關方面的知識,其實重點還是要自己能自學。基本上資訊相關的知識不靠自學,學校能給的真的都不夠。畢竟這東西UPDATA那麼迅速的東西,不只是在學期間要努力自學。畢業後也是要持續不斷的學習。我想各個資訊的老師們應該也是每天都在認真的學習新技術吧!

HW4

這次作業是也是讀取讀片。可是跟第三次不太一樣的是,我們這次是用一個一個畫素點讀取在重新輸出的方式顯示。意思就是我們會從圖片檔的最左上方的畫素點開始讀取,讀一個就輸出一個。

HW4-1→像是這樣

這次也會用到上一次的那三個指令
一樣先用fopen開啟檔案,再用fseek移動游標,最後使用fread讀取
因為是一個一個讀。所以需要用迴圈的方式寫。如下

for(i=0;i
{
fseek (imBMP,offset,SEEK_SET);
fread (bSize, 1, 3, imBMP);
offset+=3;
Image1->Canvas->Pixels[i][j]=(TColor)RGB(bSize[2],bSize[1],bSize[0]);
}</IIMAGEWIDTH;I++)>

HW4-2
顯示結果上跟第三次作業大同小異,畢竟只是改了內部的讀取方式。
我們需要的顯示結果還是一樣的。

HW7

寫個程式處理音訊,能夠合成歌曲。而且還要做到音樂漸進效果。哇!!光想到就頭大。所以現在的我而言殺了我我也不見得寫得出來...但作業又不能不交。看到同學們都寫出了可以顯示音樂波型的小程式,因此就急忙向同學討教這玩意兒怎麼寫出來的。顯示音訊波型,在各個音訊編輯器中是基礎中的基礎,連播放器有些都會附加這功能了。可是那麼基礎的東西寫起來也沒有那麼容易的說。

HW7-1

執行結果如上

如果我們改變他們的X比例,數字越大會被壓得越密集。

HW7-2

當然Y的部分也一樣。

HW7-3

HW6

這次是做的不再是圖片檔,而是WAV的開讀檔。基本上開讀檔的步驟跟GIF一樣。不過由於開啟的檔案類型不同,所以重點還是要知道WAV的檔案內容結構。關於內容結構的部分,我有看過蔡宗甫的一張圖 。蔡宗甫的作業上有我就不多貼了。結構裡頭詳細敘述了WAV的資料內容,如聲道數、取樣率、資料量、檔案大小之類的資訊。得知結構之後我們就可以開檔讀取出來了。

HW6-1 HW6-2 HW6-3

我在Windos的內容中只找到了檔名以及大小的內容,其他細部內容似乎並不會顯示的樣子。

HW5

這次的作業是將老師的金龜子.gif圖的調色盤讀取出來再進行顏色排列。老師上課有講過,GIF檔的特色就是將一張圖片所需要用到的顏色直接編成一個調色盤。你用256色的就會有256個顏色,128的就是128,24bits的就是有24bits那麼多的顏色。調色盤決定後,圖片所有的顏色都會從調色盤取出。這樣的優點是可以縮減檔案大小,因為這樣就不用去記憶每個畫素點的顏色值了。但缺點是在顏色的顯示上會失真,不適用顏色太多的圖片。
GametisForticula

看~就是那張圖!!(遙指)

基本上只要你不是色盲應該都可以很清楚的看到這張圖主要是由深綠色所組成的。他的其他部位則是有點帶點土黃色暗褐色的感覺。還有陰影部分就是黑灰白三色去配合出來的。
所以由程式解析他的調色盤就是以下這結果↘

HW5-2

最後再由明暗度排列會變成這樣

HW5-3

排列過後,較深較暗的顏色都在左上方。依序排列最右下方的就是最亮的白色了。

HW3

這次作業的主題是有關 fopen,,fseek,fread 這幾項指令
首先是我的程式結果

HW3-1

由於我的程式是照著同學的教學一步一步做出來的
所以其實對於指令的作用在幹嘛不是非常清楚…
為此我特別上網研究了一下這三個指令

---------------- 分隔線 ----------------

fopen:
開啟檔案或者 URL。
語法:
int fopen(string filename, string mode);
傳回值: 整數
函式種類: 檔案存取

這個指令主要是是用來開啟檔案用,也可以用來開啟網頁。它是將內部游標移動到欲開啟的檔案處做開啟的。由他的指令語法我們可以知道,藉由輸入正確的檔案名稱即可開檔。後面的mode是所謂的開啟模式,輸入不同的代號有不同的開啟方式。

  • 'r' 開檔方式為唯讀,檔案指標指到開始處。
  • 'r+' 開檔方式為可讀寫,檔案指標指到開始處。
  • 'w' 開檔方式為寫入,檔案指標指到開始處,並將原檔的長度設為 0。若檔案不存在,則建立新檔。
  • 'w+' 開檔方式為可讀寫,檔案指標指到開始處,並將原檔的長度設為 0。若檔案不存在,則建立新檔。
  • 'a' 開檔方式為寫入,檔案指標指到檔案最後。若檔案不存在,則建立新檔。
  • 'a+' 開檔方式為可讀寫,檔案指標指到檔案最後。若檔案不存在,則建立新檔。
  • 'b' 若作業系統的文字及二進位檔不同,則可以用此參數,UNIX 系統不需要使用本參數。

fseek:
移動檔案指標。
語法:
int fseek(int fp, int offset);
傳回值: 整數
函式種類: 檔案存取

這個指令是移動內部檔案的游標,藉由移動游標改變讀取位置。但如果由fopen開啟網址類的檔案,此指令不能用。

fread:
元組的方式讀取檔案。
語法:
string fread(int fp, int length);
傳回值: 字串
函式種類: 檔案存取

此指令輸入後可以讀指定長度的位元組或直接讀到檔案結尾。

---------------- 分隔線 ----------------

這三個指令其實就大概是這樣。不過,這類型的指令不只這三個。還有flock(鎖住檔案)、fpassthru(輸出所有剩餘資料)、fputs(寫到檔案指標)、fwrite(二進位位元方式寫入檔案)...等等。似乎這類型 f 開頭的指令都是在進行檔案的存取,不論讀取或輸出。

2009年10月22日 星期四

數媒HW2

這次的作業是把全彩的圖片轉換成灰階圖片
老師說其實公式很簡單
只要把RGB值相加起來再除以三就可以
也就是 -> (R+G+B)/3

這張是我轉換的結果
01

但是,這是色彩數比較少的圖片作轉換的情況下
如果把色彩數調高後再進行轉換結果會一樣嗎??
所以我又弄了幾張做實驗

02 03

04

05

看來,不論使用的是比較高色彩的繪圖圖片
或是真人照片都不會影響她的灰階變化

原來所謂的灰階照片就是這樣做出來的
那,相機裡面常見的除了灰階變化外
還有一種叫做負片效果
不知道那個是怎麼弄出來的?
我想應該差不多吧?

2009年10月8日 星期四

HW1

一開始是因為對多媒體很有興趣所以選了這門課
實際上過課程之後
發現教授所教學的內容不單單只是數位多媒體"概論"
為了日後教學上的方便
教授另外介紹了套簡稱為BCB的程式
這套程式似乎是原本拿來撰寫視窗程式所用的
教授好像要我們日後運用這套程式寫個可以分析多媒體資料的小程式
藉由這個小程式讓我們更加了解多媒體資料裡頭組成
嗯~所以這次的作業就是有關BCB程式的使用心得

01

首先,這是BCB剛開始的啟動畫面
這套程式把視窗程式設計變得像是在畫一幅畫的感覺
我就稍微介紹一下各個版面的用途

1.中間那塊類似於畫布的東西
我們可以在上面自由排版
做出我們想做的視窗程式面貌

2.上面有一排元件列
裡頭放著各式各樣程式內建的元件
就像是調色盤一樣
我們可以在裡頭選擇想要用的元件直接使用
相當方便,相當好!

3.左下方一整排的就是各個元件的細部內容
元件的設定基本上都在這了

4.左上方則是檔案總管之類的東西
整理所寫過的每個分頁

首先,程式的第一個練習
是讓我們開個圖檔並且讀取滑鼠所在的X,Y座標
並顯示所在畫素點的RGB值(紅,綠,藍所占比例)

02

開完圖檔後
發現,這張圖好像開的不是很完整
原來,我左邊的AutoSize是關閉的狀態
所以他就依照我一開始給的圖區大小開檔
並不會做縮放的動作

03

我把AutoSizee改為Ture以後
圖區就會依檔案大小作縮放了

之後教授要我們利用
MoveTo(); LineTo();
這兩項指令,在開啟圖片後可以自由的畫線

04

這是執行結果
我只要用左鍵選取起始點
就可以再用右鍵拉出一條從左鍵道右鍵的直線了

以上這些是我還記得的部分
教授上課另外還教過了
如何分別設定左鍵右鍵的個別功能
以及如何設定畫筆顏色

這兩個部分實在是有點忘記要怎麼做...
因此我現在做不出來(汗)
下次上課我會努力的把所教過的東西都記起來的
希望不要又忘了