發表文章

目前顯示的是 11月, 2007的文章

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)     {