地點:Home
進度:設計顯示YCbCr整數化DCT係數的介面。
作業:
① 顯示介面。

② 設計。
code
執行:run
... 已更新(2007.08.09/15:02)
心得:
DCT係數顯示介面
寫Histogram之前如果不先完成它的話
我會一直掛心而很難跳過它繼續前進||b
而且DCT係數也已確定沒算錯
(參照學姐的方法)
於是我就先把時間砸在設計上面
之前在檢查我算的數與參考程式是否相同時
由於每次都要重拉一次表格的ScrollBar來檢視我要的值
就我懶惰的本性來說有點辛苦
於是我想了個應該會較為方便的介面
依照滑鼠點擊到的點
顯示該點在做DCT時所屬Block裡的所有DCT係數值
在這個方法中遇到的第一個難題是
實際顯示的ChildForm大小ˋ位置不如我調整的
屬性中我暫時沒有注意到相關設置
網路上找了一陣子
也都沒有提到類似問題
於是使用暴力解決
即程式碼中提到的初始ChildForm的大小ˋ位置
第二個難題是
OnMouseDown()下使用其它Form的StringGrid時
顯示錯誤訊息...
"Access Violation at address 004032EB in Module"
我測試了另一個物件Image1也出現相同問題
再改測試放在同一個Form時問題未出現
上網查過這個訊息的意義
解釋1:試圖訪問一塊已經釋放的內存
腦中想到的是那個Form早就生出來了
(OnMouseDown下有先判斷是否已生出)
怎麼會是已釋放呢?
(如果內存是我想像的這樣的話)
該解決方法是打開CPU依位址找出程式設breakpoint
我在依位址找出之後
三四個區域我也沒有breakpoint該設哪一區的概念
於是放棄||b
之後便開始亂試
目前成功的解決方法是
在OnMouseDown下再新增一次顯示DCT係數的Form
雖然沒有錯誤訊息
但Form會一直增加(汗
所以有時間會努力試其他方法修正
未來幾天想要顯示Double型態的值
以及讓使用者決定要顯示的大小
... 已更新(2007.07.22/17:55)
不過終於可以心無旁騖地進入正題Histogram
真的要開始寫了Orz
備註:①目前已知的Bug有:
⒞目前程式不提供超過一次的開圖
... 已修正(2007.08.09/15:02)
②本隻程式本次更新項目如下:
⒜程式中,XY座標ˋRGB值ˋYCbCr值由原本的
OnMouseDown顯示修改為OnMouseMove顯示
... 已修正(2007.07.22/17:55)
... 已修正(2007.08.09/15:02)
... 已更新(2007.08.03/14:43)
沒有留言:
張貼留言