請問關於圖片相加的問題 |
答題得分者是:JerryKuo
|
poaivy
中階會員 發表:40 回覆:78 積分:53 註冊:2004-08-09 發送簡訊給我 |
想請問一下我這裡哪裡有寫錯....我一直找不出原因來
拜託了 用意在於把兩張圖片...做一下RGB運算...輸出於IMAGE3上面
void __fastcall TForm1::Button2Click(TObject *Sender) { Graphics::TBitmap *BMP1 = new Graphics::TBitmap(); Graphics::TBitmap *BMP2 = new Graphics::TBitmap(); Graphics::TBitmap *BMP3 = new Graphics::TBitmap(); Byte *ptr1=NULL,*ptr2=NULL,*ptr3=NULL; BMP1->Assign(Image1->Picture->Bitmap); BMP2->Assign(Image2->Picture->Bitmap); float nb; nb=StrToInt(InputBox("圖片相加","透明度","1")); for (int y=0;y |
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
引言: 想請問一下我這裡哪裡有寫錯....我一直找不出原因來 拜託了 用意在於把兩張圖片...做一下RGB運算...輸出於IMAGE3上面poaivy你好: compiler會建議你,byte數最好不要做乘法和除法運算 如果一定要這樣做的話,建議你可以這樣改。void __fastcall TForm1::Button2Click(TObject *Sender) { Graphics::TBitmap *BMP1 = new Graphics::TBitmap(); Graphics::TBitmap *BMP2 = new Graphics::TBitmap(); Graphics::TBitmap *BMP3 = new Graphics::TBitmap(); Byte *ptr1=NULL,*ptr2=NULL,*ptr3=NULL; BMP1->Assign(Image1->Picture->Bitmap); BMP2->Assign(Image2->Picture->Bitmap); float nb; nb=StrToInt(InputBox("圖片相加","透明度","1")); for (int y=0;y int r1,g1,b1,r2,g2,b2,r3,g3,b3; r1=(int)ptr1[x*3 2];g1=(int)ptr1[x*3 1];b1=(int)ptr1[x*3]; r2=(int)ptr2[x*3 2];g2=(int)ptr2[x*3 1];b2=(int)ptr2[x*3]; r3=nb*r1 (1-nb)*r2 ; g3=nb*g1 (1-nb)*g2 ; b3=nb*b1 (1-nb)*b2 ; /*原始碼順序好像不對 ptr3[x*3]=r3; ptr3[x*3 1]=g3 ; ptr3[x*3 2]=b3; */ ptr3[x*3]=(byte)b3; ptr3[x*3 1]=(byte)g3; ptr3[x*3 2]=(byte)r3;發表人 - jerrykuo 於 2004/11/09 13:41:58 |
poaivy
中階會員 發表:40 回覆:78 積分:53 註冊:2004-08-09 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
poaivy
中階會員 發表:40 回覆:78 積分:53 註冊:2004-08-09 發送簡訊給我 |
|
poaivy
中階會員 發表:40 回覆:78 積分:53 註冊:2004-08-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |