請問關於我這個影像反白的程式 |
答題得分者是:richtop
|
xdio2
一般會員 發表:60 回覆:29 積分:17 註冊:2004-07-23 發送簡訊給我 |
怎麼我反白後便成一張全紅色的圖勒...
小弟是新手,請各位大大不吝賜教
感謝~~
void __fastcall TForm1::Button1Click(TObject *Sender) { int width,height; Byte x; height=Image1->Picture->Bitmap->Height; width=Image1->Picture->Bitmap->Width; Image1->Picture->Bitmap->PixelFormat=pf8bit; Image2->Picture->Bitmap->Assign(Image1->Picture->Bitmap); for(int i=0;i |
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
|
xdio2
一般會員 發表:60 回覆:29 積分:17 註冊:2004-07-23 發送簡訊給我 |
引言: for(int j=0;jx是我要用來存像素質的變數阿 因為Image2是跟我的原圖一樣的東西 所以我就直接反白Image2 上面那兩行就是用255這個像素去減所有的像素質阿 難道...反白不是這樣做嗎? 我看書上是這樣寫的 小弟是新手,請大大指點一下,謝謝~ |
xdio2
一般會員 發表:60 回覆:29 積分:17 註冊:2004-07-23 發送簡訊給我 |
|
richtop
資深會員 發表:122 回覆:646 積分:468 註冊:2003-06-10 發送簡訊給我 |
xdio2 您好: 一個最少的修改方式供您參考:
for (int i=0;i又因為Image2->Picture->Bitmap->Canvas->Pixels[j][i];傳回的型態是TColor,所以直接用255去減會有問題,應該要分別取出RGB分量再分別用255去減。 TColor color; Byte r,b,g; for (int i=0;i補充一下,如果改成ScanLine的方式存取會提升速度,站上有很多例子請自行參考。 RichTop 敬上 =====***** 把數學當工具,可以解決問題;將數學變能力,能夠發現並解決問題! =====##### 發表人 - richtop 於 2004/10/17 20:55:16 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |