為何使用ScanLine+指標,會使得圖片反轉? |
|
kiroru
一般會員 發表:1 回覆:1 積分:0 註冊:2006-10-02 發送簡訊給我 |
想請教一下,小弟寫了個簡單的程式如下,
主要是將Bmp元件裡的圖複製到Image2上面顯示, 我故意只用了一個指標,讓它指向Image2->Picture->Bitmap->ScanLine[i], 之後利用GetRValue(Bmp->Canvas->Pixels[i][j]); .......... 方式抓出Bmp裡的每個pixel的RGB值, 再assign給Image2,可是出來的結果,Image2上的圖片是逆時針90度旋轉,並且左右相反, 覺得很納悶,難道說Pixels[i][j]代表的位置,其實是在( j , i )這個位置? 懇請解惑,非常感謝! unsigned int r,g,b; Image2->Height=Bmp->Height; Image2->Width=Bmp->Width; Image2->Picture->Bitmap->Height=Bmp->Height; Image2->Picture->Bitmap->Width=Bmp->Width; Image2->Picture->Bitmap->PixelFormat=pf24bit; Byte *ptr; for(int i=0;i { ptr=(Byte*)Image2->Picture->Bitmap->ScanLine[i]; for(int j=0;j { ptr[3*j 2]=GetRValue(Bmp->Canvas->Pixels[i][j]); ptr[3*j 1]=GetGValue(Bmp->Canvas->Pixels[i][j]); ptr[3*j ]=GetBValue(Bmp->Canvas->Pixels[i][j]); } } |
justdo
高階會員 發表:2 回覆:359 積分:222 註冊:2004-08-17 發送簡訊給我 |
|
kiroru
一般會員 發表:1 回覆:1 積分:0 註冊:2006-10-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |