擷取 RGB的值 & 灰階的值 怪怪的 |
尚未結案
|
ufstep
一般會員 發表:8 回覆:11 積分:3 註冊:2002-04-14 發送簡訊給我 |
void __fastcall TForm1::Image1MouseMove(TObject *Sender,
TShiftState Shift, int X, int Y) HDC hdc = ::GetDC(Handle);
COLORREF pcolor = ::GetPixel(hdc,X,Y);
unsigned int r= GetRValue(pcolor);
unsigned int g= GetGValue(pcolor);
unsigned int b= GetBValue(pcolor);
Caption="R:" AnsiString(r) " G:" AnsiString(g) " B:" AnsiString(b);
//------------------------------------------------------------ 當使用這段程式擷取RGB值時
為何我滑鼠在Image1移動時所擷取的數值與Photo Shop的擷取的不一樣?
感覺數值也是怪怪的~
還需要設定些什麼?
我的圖示是 240X176 24b BMP
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
ufstep您好:
我是用下面的方式擷取RGB您試看看
< class="code">
void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift,
int X, int Y)
int R=(Byte)GetRValue(Image1->Canvas->Pixels[X][Y]);
int G=(Byte)GetGValue(Image1->Canvas->Pixels[X][Y]);
int B=(Byte)GetBValue(Image1->Canvas->Pixels[X][Y]);
Caption="R:" AnsiString(R) " G:" AnsiString(G) " B:" AnsiString(B);
P.S:貼程式碼時請參考下面連結的方式,閱讀起來會更清爽喔
< href="http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39009">http://delphi.ktop.com.tw/topic.php?TOPIC_ID=39009 順心 發表人 -
|
ufstep
一般會員 發表:8 回覆:11 積分:3 註冊:2002-04-14 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |