有關Halftone程式的問題...? |
答題得分者是:六尾犬
|
bvd
一般會員 發表:9 回覆:12 積分:4 註冊:2006-10-31 發送簡訊給我 |
不才寫的一個halftone的程式如下,但不知為何有錯,能否請高手們幫我指正,
我己經爬過文了,但依然不知如何改....非常感謝^^||| Graphics::TBitmap *TempImage; TempImage->Assign(Image1->Picture->Bitmap); Byte *ptr; TempImage->PixelFormat=pf8bit; int r,g,b; int gray; int halftone[8][8]={{51,27,6,46,59,12,54,7},{16,63,40,23,0,42,24,33}, {2,34,11,49,31,15,61,47},{55,26,53,17,57,38,5,21}, {10,43,4,41,8,28,52,39},{60,20,29,62,22,44,13,32}, {1,48,36,9,50,3,58,25},{35,14,56,18,30,37,19,45}}; if(Image1->Picture->Bitmap->Empty==true) ShowMessage("請載入影像!!"); for(int j=0;j { ptr=(Byte*)TempImage->ScanLine[j]; for(int i=0;i { b=ptr[i*3]; g=ptr[i*3 1]; r=ptr[i*3 2]; gray=0.299*r 0.587*g 0.114*b; if(gray else gray=255; ptr[i*3]=(Byte)gray; ptr[i*3 1]=(Byte)gray; ptr[i*3 2]=(Byte)gray; } } Image1->Picture->Assign(TempImage);
------
加強磨鍊 |
六尾犬
一般會員 發表:0 回覆:9 積分:11 註冊:2006-09-12 發送簡訊給我 |
|
bvd
一般會員 發表:9 回覆:12 積分:4 註冊:2006-10-31 發送簡訊給我 |
|
六尾犬
一般會員 發表:0 回覆:9 積分:11 註冊:2006-09-12 發送簡訊給我 |
你的貼圖路徑錯了= =...
你的程式不是彩色轉灰階嗎?!(上述程式碼有有轉灰階的...) ===================引 用 bvd 文 章=================== 感謝六尾大的回答.. 我把TempImage->Assign(Image1->Picture->Bitmap); 改成TempImage=Image1->Picture->Bitmap; 且改TempImage->PixelFormat=pf24bit; 就有結果出來如下: 感覺白色的部太多了 而且只能用彩色的影像才會出現結果(有沒有設PixelFormat都一樣) 用灰階的影像就不行了...!!! 那要如何才能用灰階去做...?
編輯記錄
六尾犬 重新編輯於 2007-06-09 15:43:25, 註解 無‧
|
bvd
一般會員 發表:9 回覆:12 積分:4 註冊:2006-10-31 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |