為什麼影像沒有畫出來? |
缺席
|
encoref70036
一般會員 發表:29 回覆:47 積分:15 註冊:2011-05-18 發送簡訊給我 |
我在Child上有放了一個Image1如下圖:
程式碼: TMDIChild *Child; Child = (TMDIChild *)ActiveMDIChild; float Y_value,U_value,V_value,R_value,G_value,B_value; Byte *Yptr,*Uptr,*Vptr,*ptr; Graphics::TBitmap *Ybmp = new Graphics::TBitmap;//讀取Y檔用的 Ybmp->LoadFromFile(ExtractFilePath(ParamStr(0)) "Y.bmp");//與程式同一路徑下 Graphics::TBitmap *Ubmp = new Graphics::TBitmap;//讀取U檔用的 Ubmp->LoadFromFile(ExtractFilePath(ParamStr(0)) "U.bmp");//與程式同一路徑下 Graphics::TBitmap *Vbmp = new Graphics::TBitmap;//讀取V檔用的 Vbmp->LoadFromFile(ExtractFilePath(ParamStr(0)) "V.bmp");//與程式同一路徑下 int w=Ybmp->Width; int h=Ybmp->Height; Graphics::TBitmap *RGBbmp = new Graphics::TBitmap;//存轉出的RGB用的 RGBbmp->Width=w; RGBbmp->Height=h; RGBbmp->PixelFormat=pf32bit; for (int y=0; y Yptr =(Byte*)Ybmp->ScanLine[y]; Uptr =(Byte*)Ubmp->ScanLine[y]; Vptr =(Byte*)Vbmp->ScanLine[y]; ptr = (Byte*)RGBbmp->ScanLine[y]; for (int x=0; x Y_value =Yptr[x*4]=Yptr[x*4 1]=Yptr[x*4 2]; U_value =Uptr[x*4]=Uptr[x*4 1]=Uptr[x*4 2]; V_value =Vptr[x*4]=Vptr[x*4 1]=Vptr[x*4 2]; //YCrCb -> RGB R_value = Y_value 1.402*V_value; R_value = 0.5; G_value = Y_value-0.34413*U_value-0.71414*V_value; G_value = 0.5; B_value = Y_value 1.772*U_value; B_value = 0.5; ptr[x*4]=B_value; ptr[x*4 1]=G_value; ptr[x*4 2]=R_value; } } Child->Image1->Canvas->Draw(0,0,RGBbmp); 可是點了這個按鈕以後 影像並沒有畫上去 如下圖: 可是我不是有寫Child->Image1->Canvas->Draw(0,0,RGBbmp);這句嗎? 怎麼影像會沒有畫上去? 但是如果先開一張圖片 再按這個按鈕 影像就可以畫得上去了 請問是為什麼呢? 編輯記錄
encoref70036 重新編輯於 2011-09-01 00:48:43, 註解 無‧
|
encoref70036
一般會員 發表:29 回覆:47 積分:15 註冊:2011-05-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |