線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1176
推到 Plurk!
推到 Facebook!

有關Halftone程式的問題...?

答題得分者是:六尾犬
bvd
一般會員


發表:9
回覆:12
積分:4
註冊:2006-10-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-06-06 17:19:15 IP:124.8.xxx.xxx 訂閱
不才寫的一個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;jHeight;j )
{
ptr=(Byte*)TempImage->ScanLine[j];
for(int i=0;iWidth;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 gray=0;
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-06-08 09:06:38 IP:218.172.xxx.xxx 訂閱
TempImage->PixelFormat=pf8bit;
改成
TempImage->PixelFormat=pf24bit;

這寫法是處理24bit的~
bvd
一般會員


發表:9
回覆:12
積分:4
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-06-09 12:16:58 IP:124.8.xxx.xxx 訂閱
感謝六尾大的回答..
我把TempImage->Assign(Image1->Picture->Bitmap);
改成TempImage=Image1->Picture->Bitmap;
且改TempImage->PixelFormat=pf24bit;
就有結果出來如下:


感覺白色的部太多了
而且只能用彩色的影像才會出現結果(有沒有設PixelFormat都一樣)
用灰階的影像就不行了...!!!
那要如何才能用灰階去做...?
------
加強磨鍊
六尾犬
一般會員


發表:0
回覆:9
積分:11
註冊:2006-09-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-06-09 15:42:38 IP:218.172.xxx.xxx 訂閱
你的貼圖路徑錯了= =...
你的程式不是彩色轉灰階嗎?!(上述程式碼有有轉灰階的...)


===================引 用 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-06-09 21:57:05 IP:124.8.xxx.xxx 訂閱
是的..六尾大您說的沒錯..
我也大概試出來了........
非常感謝^^||
------
加強磨鍊
系統時間:2024-04-28 6:43:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!