全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1137
推到 Plurk!
推到 Facebook!

指標問題

 
ddaken
一般會員


發表:39
回覆:33
積分:19
註冊:2005-01-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-17 09:03:24 IP:125.232.xxx.xxx 訂閱
小弟看到發表的作品如sobel, Bilinear等等
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=49370

http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=41085
只要是自己寫的function幾乎都會用到下面的方式
以sobel來說

// 建立PadBitmap物件
Graphics::TBitmap *pPadBitmap = new Graphics::TBitmap();
pPadBitmap->PixelFormat = pf8bit;
pPadBitmap->Palette = CreatePalette(&GrayPalette.lpal);
pPadBitmap->Width = pRefBitmap->Width PadSize * 2;
pPadBitmap->Height = pRefBitmap->Height PadSize * 2;

// 準備指向pPadBitmap像素記憶體的指標
Byte **ptrPad = new Byte *[pPadBitmap->Height];--------Why1
for(row = 0; row < pPadBitmap->Height; row )
ptrPad[row] = (Byte *)pPadBitmap->ScanLine[row];--------Why2



小弟不懂的地方就是
Why1:這一行的目的是什麼??為什麼是用[]??
Why2:這一行的目的又是什麼呢?為什麼又要加指標?

可否請大大說一下呢??感謝
CoffeeX
中階會員


發表:18
回覆:121
積分:72
註冊:2005-02-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-17 11:38:30 IP:218.164.xxx.xxx 訂閱
這部份你可以找有關2維動態記憶體配置,
目的是為了把bmp的資料當作矩陣作處理,
讓程式容易編寫且更加清楚,
先宣告一個指標的指標,
new 出來後,
可以存指標在裡面(概念上)
再把他導向bmp每一列中的起始指標,
所以就形成:

bmp[i] 的指標值裡面存的是另一個指標,同*(bmp i),
bmp[i][j]的指標值存的是bmp上第i列第j行之值,同*(*(bmp i) j),
以上是概念的部份,
------
=.=???
系統時間:2024-04-30 2:02:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!