請問這些程式是在做什麼,看不懂的說@@ |
尚未結案
|
Fell003
一般會員 發表:3 回覆:1 積分:0 註冊:2004-03-13 發送簡訊給我 |
Byte *ptr, *Img;
Graphics::TBitmap *OImg = new Graphics::TBitmap();
OImg->LoadFromFile(OpenImage->FileName); Img = (Byte *) new Byte[img_row * img_col]; for(i=0; i < img_row; i++)
{ ptr = (unsigned char *)OImg->ScanLine[i];
for(j=0; j < img_col; j++)
{
image[i][j] = Img[i*img_row+j] = ptr[j];
}
}
-----------------------------------
請問 (1)image[i][j] = Img[i*img_row+j] = ptr[j] (2)Img = (Byte *) new Byte[img_row * img_col] 是什麼意思 (3)在(2)項中,有沒有(Byte *)又有何差別ㄋ 搞了半天,還是不懂
|
Fell003
一般會員 發表:3 回覆:1 積分:0 註冊:2004-03-13 發送簡訊給我 |
|
anpino
版主 發表:31 回覆:477 積分:231 註冊:2003-01-02 發送簡訊給我 |
引言: Byte *ptr, *Img; Graphics::TBitmap *OImg = new Graphics::TBitmap(); OImg->LoadFromFile(OpenImage->FileName); Img = (Byte *) new Byte[img_row * img_col]; //(Byte *) 是強制轉型成Byte指標, 在這裡有沒有都沒關係。 for(i=0; i < img_row; i ) // 一行一行做 { ptr = (unsigned char *)OImg->ScanLine[i]; // 此時ptr 所指的位址是圖的第i列。unsigned char 與 Byte 長度一樣。 for(j=0; j < img_col; j ) // 從每列的第一個Byte開始讀到最後一個Byte。 { image[i][j] = Img[i*img_row j] = ptr[j]; // 第i列的第j個Byte放到Img與image的第i列第j個位置。 } } ------------------------------------------------------------------ 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖VS東方不敗:D Anpinos Middle Earth http://anpino.hp.infoseek.co.jp/ ------------------------------- 發表人 - anpino 於 2004/06/02 11:38:59 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |