BCB:影像多次處理後會跑掉
遭遇問題 影像多次處理後會跑掉,是今天re-code專題程式發現的詭異情況,只知道,詳細原因不明,因為這個問題害我損失很多時間。 實驗開始 開啟一個圖檔,三個Image物件分別Load同一個檔案,之後每按一次實驗按鈕,就重新指定Image的所有像素值,詳見實驗碼。 圖1、左邊的Image,直接針對Image設定pixel數值。 圖2、中間的Image,在Bitmap上完成設定,在設定給Image物件。 圖3、右邊的Image,拿完成設定的bitmap給Image繪圖。 按下第一次的結果與還沒運行的結果相同。 按下第二次的結果,中間直接設定Bitmap給Image的開始扭曲 第三次的結果更是糟糕 第十次的結果就不用說了,整個就是不能看了 實驗程式碼 void __fastcall TForm1::Button2Click(TObject *Sender) { BYTE* pptr; int h,w; // Image1 for (h=Image1->Height-1 ; h>=0 ; --h) { pptr =(BYTE*)Image1->Picture->Bitmap->ScanLine[h]; for (w=0 ; w<Image1->Width ; ++w) { Image1 ->Canvas->Pixels[w][h] = (TColor)RGB(pptr[w*3+2],pptr[w*3+1],pptr[w*3]); } } // Image2 Graphics::TBitmap *bmp = new Graphics::TBitmap(); bmp->Width = Image2->Width; bmp->Height = Image2->Height; for (h=Image2->Height-1 ; h>=0 ; --h) { pptr =(BYTE*)Image2->Picture->Bitmap->ScanLine[h]; for (w=0 ; w<Image2->Width ; ++w) {...