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

如何偵測到影像像素的位元數

尚未結案
suhappyer
一般會員


發表:2
回覆:4
積分:1
註冊:2003-11-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-17 15:59:29 IP:140.118.xxx.xxx 未訂閱
我想寫一個影像處理的程式,它能在開啟影像時能測出pixel是24bits的RGB或8bits的gray,然後經處理完後能儲存跟原始影像pixel位元數一樣 希望各位大大能幫幫我,小弟我感激不進
taishyang
站務副站長


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-17 16:39:24 IP:140.135.xxx.xxx 未訂閱
suhappyer您好: 您可以參考下面的code,但我想應該有更好的方式 < class="code"> Graphics::TBitmap* BMP = new Graphics::TBitmap(); BMP->LoadFromFile("背景0.bmp"); switch (BMP->PixelFormat) { case 0: ShowMessage("pfDevice"); break; case 1: ShowMessage("pf1bit"); break; case 2: ShowMessage("pf4bit"); break; case 3: ShowMessage("pf8bit"); break; case 4: ShowMessage("pf15bit"); break; case 5: ShowMessage("pf16bit"); break; case 6: ShowMessage("pf24bit"); break; case 7: ShowMessage("pf32bit"); break; } int count=0; for (int y=0;yHeight ;y =10) { for (int x=0;xWidth ;x =10) { int R=GetRValue(BMP->Canvas->Pixels[x][y]); int G=GetGValue(BMP->Canvas->Pixels[x][y]); int B=GetBValue(BMP->Canvas->Pixels[x][y]); if (R==G&&G==B) { count ; } } } if (count>10) ShowMessage("灰階"); else if (count==0) ShowMessage("彩色"); 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~
suhappyer
一般會員


發表:2
回覆:4
積分:1
註冊:2003-11-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-17 17:54:46 IP:140.118.xxx.xxx 未訂閱
感謝taishyang大大幫我解答 bmp檔的話,大大的方法可以測出 如果是一張jpeg檔是不是也用類似的方式測出,程式如下: jimage= new TJPEGImage; jimage->LoadFromFile(OpenPictureDialog1->FileName); switch (jimage->PixelFormat) { case 0: ShowMessage("jf24Bit"); break; case 1: ShowMessage("jf8Bit"); break; } 不過我好像測不出,是不是哪裡出錯了
suhappyer
一般會員


發表:2
回覆:4
積分:1
註冊:2003-11-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-17 19:16:10 IP:140.118.xxx.xxx 未訂閱
我測出來一直是顯示jf24Bit,沒有jf8Bit 在photoship看是一張gray圖
系統時間:2024-05-10 15:48:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!