全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1804
推到 Plurk!
推到 Facebook!

請問一下有關 圖片的問題

答題得分者是:taishyang
shinesonba
一般會員


發表:5
回覆:2
積分:1
註冊:2009-08-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-08-24 16:30:51 IP:218.174.xxx.xxx 訂閱
我的程式碼開啟圖片  
有的可以順利 進行影像處理 有的卻不能
請問各位高手怎麼改
可以解決此問題

因為我不會上傳圖片@@
所以麻煩各位高手下載一下檔案 XD

如果不太懂問題 打開程式 -> 開啟圖案 -> 圖片資料夾的兩張圖 -> 然後 灰階化

一張正常 一張顯示白色

幫忙解惑吧 謝謝
------
hi
附加檔案:4a924fbb22314_桌面.rar
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-24 17:02:48 IP:122.116.xxx.xxx 訂閱
直接改你的code

Graphics::TBitmap *Bmp2;
Byte *ptr1, *ptr2; //設定彩色1 and 灰階2 位址指標
double sum; //sum = 彩色轉灰階值
unsigned int red, green, blue;
LOGPALETTE MyPalette; //設定灰階調色盤
PALETTEENTRY pal[1]; //儲存位置
HPALETTE MyPaletteHandle;

//------------產生一臨時圖像以便執行彩色轉黑白---------------
Bmp2= new Graphics::TBitmap();
Bmp2->Assign(Image1->Picture->Bitmap);
Bmp2->PixelFormat=pf8bit;
//------------設定臨時圖像的調色盤為灰階調色盤---------------
MyPalette.palVersion = 0x300;
MyPalette.palNumEntries = 256;
MyPaletteHandle=CreatePalette(&MyPalette);
for(int i=0; i<256; i ){
pal[0].peRed=i;
pal[0].peGreen=i;
pal[0].peBlue=i;
SetPaletteEntries(MyPaletteHandle, i ,1, pal);
}
Bmp2->Palette=MyPaletteHandle;

//------------執行彩色轉黑白---------------------------------
for (int y=0; y < Bmp2->Height; y ){
ptr2 = (Byte*)Bmp2->ScanLine[y];
for (int x=0; x < Bmp2->Width; x ){
GetPaletteEntries(Bmp2->Palette, ptr2[x], 1, pal);
red= pal[0].peRed; green=pal[0].peGreen; blue=pal[0].peBlue;
sum= red*0.299 green*0.587 blue*0.114;
if (sum>255){
sum=255;
}
if (sum<0){
sum=0;
}
ptr2[x]=(Byte)sum;
}
}
//-------------顯示轉換後的灰階影像----------------------------

Image2->Picture->Bitmap->Assign(Bmp2);
delete Bmp2;
編輯記錄
taishyang 重新編輯於 2009-08-24 17:04:04, 註解 無‧
shinesonba
一般會員


發表:5
回覆:2
積分:1
註冊:2009-08-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-24 17:22:14 IP:218.174.xxx.xxx 訂閱
可以了@@

感謝副站長幫我解答

真是感恩 我愛你
------
hi
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-08-24 17:28:29 IP:122.116.xxx.xxx 訂閱
謝謝,但我對男生沒興趣,呵 ^^
系統時間:2024-04-26 13:06:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!