ScanLine使用指標變數的問題 |
尚未結案
|
ddaken
一般會員 發表:39 回覆:33 積分:19 註冊:2005-01-21 發送簡訊給我 |
請問各位大大
Graphics::Tbitmap *TheBitmap, *TempBitmap; int Width, Height; Byte *ptr1, *ptr2; TempBitmap=new Graphics::Tbitmap(); TheBitmap=Image1->Picture->Bitmap; TheBitmap->PixelFormat=pf8bit; TempBitmap->Assign(TheBitmap); Width=TheBitmap->Width; Height=TheBitmap->Height; for (int y=0; y上面的 ptr1=(Byte*) TempBitmap->ScanLine[y]; 意識是...整個程式共指定了4個指標變數嘛? -->*ptr1, *ptr2, *TheBitmap->ScanLine[y],*TempBitmap->ScanLine[y] 一直看不懂這一行為什麼要這樣寫.... 另一問...既然定義了 (Byte*) TempBitmap->ScanLine[y] (Byte*) TheBitmap->ScanLine[y]; 為什麼還要assign? ptr1[x]=ptr2[Width-1-x]//這一行不是已經換好了嘛?? |
cashyy
高階會員 發表:117 回覆:322 積分:212 註冊:2004-04-30 發送簡訊給我 |
引言: 請問各位大大(Byte*) TempBitmap->ScanLine[y] (Byte*) TheBitmap->ScanLine[y]; 這兩行是為了要強制轉換型態,因為TempBitmap是屬於Tbitmap的型態,那ptr1、prt2是Byte的型態。 TheBitmap->Assign(TempBitmap);//為什麼還要再Assign給TheBitmap? 因為TheBitmap=Image1->Picture->Bitmap; 這一行主要是顯示圖片,那圖片來源就是TempBitmap了! TheBitmap是一個指標,那TheBitmap=Image1->Picture->Bitmap;不就等於TheBitmap指到Image1的Bitmap嗎?Graphics::Tbitmap *TheBitmap, *TempBitmap; int Width, Height; Byte *ptr1, *ptr2; TempBitmap=new Graphics::Tbitmap(); TheBitmap=Image1->Picture->Bitmap; TheBitmap->PixelFormat=pf8bit; TempBitmap->Assign(TheBitmap); Width=TheBitmap->Width; Height=TheBitmap->Height; for (int y=0; y上面的 ptr1=(Byte*) TempBitmap->ScanLine[y]; 意識是...整個程式共指定了4個指標變數嘛? -->*ptr1, *ptr2, *TheBitmap->ScanLine[y],*TempBitmap->ScanLine[y] 一直看不懂這一行為什麼要這樣寫.... 另一問...既然定義了 (Byte*) TempBitmap->ScanLine[y] (Byte*) TheBitmap->ScanLine[y]; 為什麼還要assign? ptr1[x]=ptr2[Width-1-x]//這一行不是已經換好了嘛?? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |