顯示具有 96360953 郭紘維 標籤的文章。 顯示所有文章
顯示具有 96360953 郭紘維 標籤的文章。 顯示所有文章

2010年1月16日 星期六

HW 7

這次的作業7,想了很久,不過還是沒辦法在最後關頭用出來,

雖然不知道現在到底截止沒,不過看老師還沒在網頁KEY新分數,

來碰個運氣看看。


這次的作業主要是強化第6次作業內容,要可以自由調整

音量,還有Show出音波圖。



在讀取音量這,其實不難,只需waveOutGetVolume

與 waveOutSetVolume 抓取 及 調整設定 即可。



不過音波圖一直發生錯誤,上網看過一些相關資料,

不過還是出現了一些問題,礙於今天從早上補課到傍晚,

所以沒辦法在12點以前上傳,真的是相當麻煩的事情....

先暫時打出目前寫程式的心得,晚點如果有時間再補齊。

2010年1月15日 星期五

HW 6

最後這上課的幾個禮拜裡,作業跟上課內容有了轉換。


從圖檔變為音訊檔了,而這次作業主要是讀取WAV檔的


資訊。


在拿到這作業後,一樣需要花工夫再了解WAV的開檔資料,


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

Field  bytes    format contains

1    0...3    str4 "RIFF" in ASCII

2    4...7   int4 Total bytes minus 8

3    8...15   str4 "WAVEfmt" Eigth character is a space

4    16...19  int4 16 for PCM format

5    20...21  int2 1 for PCM format

6    22...23   int2 channels

7    24...27   int4 sampling frequency

8   28...31   int4 bytes per second

9   32...33   int2 bytes by capture

10    34...35   int2 bits per sample

11   36...39 str4 "data"

12 40...43 int4 bytes in data

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


再了解了以上的資料後,就開始撰寫程式碼囉!!!



而這次課堂上老師有給了我們不同於之前讀取File的方式:


unsigned int cB[1]; int FileSize; fseek (file,4,SEEK_SET) ; fread(cB, 4, 1, file); FileSize = cB[0];


感覺上這程式碼比較方面給我們讀,


不必像之前一樣一堆數字在上面鑽來鑽去,


而程式部分,課本裡也有提供一些範例供參考,


基本上只要成功讀取後就沒有什麼困難了。


以下為執行結果:


HW 8

  時間真的過的很快,感覺從一開始接觸BCB沒多久,這堂課就這樣要結束了,起初以為上這堂課不外乎就是聽些理論的東西交交心得報告之類的,不過上這堂課後就改觀囉,本來以為只是理論的東西沒想到融合了許多實作在裡面,心想:看來這學期的程式課又多了一堂了。
  在這學期裡,從一開始簡單介紹基本元件的用法,到後面開讀BMP&GIF圖檔,最後幾堂課更多加了WAV音訊檔在裡頭,不得不說的是,BCB這程式比起C++語言或是其他的程式語言,它所呈現給我們的方式是相當簡易的,我們不用煩惱介面的問題這真的就是一大好處,不過經過這學期的使用,有時BCB因版本不同有時開檔會發生一些問題,這感覺比較令人傷腦筋,像我這學期還有修一門Winsock,當初要寫聊天室時也是利用BCB來完成的,它的元件裡已經幫我們寫好了程式碼,剩下只需我們去理解且使用相對應的元件而已,接觸BCB這程式後,可以使一些需介面的程式更為簡單。
  而這學期的課堂裡,由於這是我的少數幾門多媒體學程的課,不然其實基本上我都是選網路學程,但在接觸數位媒體概論這課後,發覺其實這學程裡的東西還蠻有趣的,可以對我們常見的影像、音訊做處理,像這學期就有使用改灰階的圖片,不同其他程式,完成時就可以直接看到成果,我想這也是另一種的成就感吧,這也讓我對多媒體學程有了不錯的感覺,希望日後有機會可以再選修這類的課程。
  最後,這堂課帶給我最大的不同我想就在於老師的上課方式吧,不同於其他課程的其他老師,這堂課可以很直接的感受出來師生間的互動,教學方式也較特別,老師帶領大家導讀WIKI的多媒體方面資訊並一一介紹,並不是與其他課相同一上課就是投影片的不斷放映,而課程裡老師也會巡視大家的程式有發生哪些error,或是再下一次的課堂中跟我們方想自己寫程式所出現的問題,而這學期中也只偶少數次因為班代要開會所以沒辦法準時到,不然其餘時間我想我應該是第一個到教室的吧,因為前一堂課也剛好在同一間,最後,我覺得目前這種上課方式是蠻新鮮有趣的,也希望可以繼續保持這種方式教學,因為我想這種有趣跟新鮮的教學才是多媒體課程中最不可或缺的元素。

HW 5

經過了前幾前的讀取BMP檔後,大家也都習慣了。


不過這次要讀取的是GIF檔,要把老師Share的金龜


子show出調色盤出來。



而一開始的步驟不外出是先讀取GIF檔囉!


經過課堂上稍微了解過GIF的格式後,


一樣老方法PSPad去查看GIF的檔頭,


之前看過了BMP的檔頭後再回過頭觀察這


GIF檔頭似乎就沒什麼新鮮感,且東西也比


BMP精簡了許多,而這次的目的是他的調色盤,


所以不囉嗦,就專心在這就好了。




經過幾次嘗試後,終於得到了預想的結果:





















-----------------------排序--------------------------


基本樣式做出來後,排序只是讓調色盤有順序的列出而已,


而排序的主要動作在於將


(crPalette[k].bRed + crPalette[k].bGreen + crPalette[k].bBlue)/3


這程式碼所得出的值進行大小比較,


可自行調整明->暗 OR 暗->明 (此差別僅在於> OR < 罷了!) 排序方法

主要是逐一比較將暗或亮(看自己要哪種)來進行推移轉換。

以下為暗->亮 的排序結果:





















大功告成囉。

2009年12月21日 星期一

HW 3

上次有上傳一次 HW 3也有成功發佈,

不過在修改時不知什麼原因.......,

結果不見了@@?

嗯...很詭異的事件,所以我在重新PO一次。


以下為執行結果:
















這次的作業是用 fopen,fread與fseek來做開BMP的圖檔

、讀取,且將其圖片的資訊SHOW在畫面中,相較於

之前作業所用的開檔程式,這的確是較為複雜些,

而這次作業需要注意的地方是:

在讀取解析度時,須將值除以39.37,

因解析度值須把公尺轉為"英吋",

多這步驟才為才為dpi值(dot per inch),



這次作業的fopen,fread,fseek,



需要多多留意寫法及用途,

因為之後的幾次實作中應該會應用上,

簡言之,第3次作業.......結束!!! ^^

2009年12月9日 星期三

HW4

這次的作業其實作用跟上次作業相同

主要也是讀圖Show在畫面上

並且在畫面中讀出Show出圖片資訊


但這之中不同的是:

須使用fopen fread fseek來抓取圖片的檔頭

且多使用了Pspad找尋位置

這軟體記得最後一次用還是在資料結構中使用

沒想到在這也會用到他...


而做這次作業也發生的錯誤也比之前多

所以這次還有在課堂上講解一番後

再繼續給我們實作





結果出來囉!!

2009年10月21日 星期三

HW 2

這次是要實現彩色影像轉變為灰階影像,

相信大家在手機或數位相機裡都有玩過,

不過這次是要在BCB的程式裡實現它,

我做的介面及結果如下:





















上面的圖片↑↑是剛拉進來的彩色圖片,再經過右邊

的按鈕轉換後可得以下:





















變為灰階圖片了↑↑,原先以為要改成灰階圖片是相

當困難,不過當老師提示

(R+G+B)/3 或是 0.299*R+0.587*G+0.114*B 後,

再經過幾番嘗試,其實不難,我這圖是用(R+G+B)/3

所完成的,而且這次上課的重點也在教這些東西,所

以其實並沒有什麼很大的負擔,多練習摸個幾遍後,

相信是不會太難上手。

2009年10月8日 星期四

HW1

執行結果:















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

這次作業是這堂課的第一次,雖然一開始真的對BCB還很不熟悉,

不過幸好它的功能並不複雜,相當的淺顯易懂,所以做起來基本上

並沒有遇到什麼太大的困難,大概是用元件寫的關係吧,可以不用

擔心做介面的問題,而這次的作業也相當有趣,讓我對BCB的程式

產生了興趣,且遇到的問題基本上課本都可以查到一些蛛絲馬跡,

而且在這次自己實作後,也發現了一些問題,從元件名稱錯誤抓不

到到一些小細節,還有關於存檔之後換電腦後讀取,不過幸好後來

都順利解決,這次第一次的作業裡,很成功的讓我對BCB有了些概

念,算是有達到目的,也希望之後的課堂跟作業裡能學到更多的東西。