如何获得屏幕上某点的颜色.

CPerlAsm_Lx 2004-01-22 06:53:26
如何获得屏幕上某点的颜色.
...全文
96 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
goneaway1981 2004-01-23
  • 打赏
  • 举报
回复
回复人: cupidvenus(小鱼儿) ( ) 信誉:100 2004-01-22 22:54:00 得分:0


GetCursorPos和GetPixel


lovebcb 2004-01-23
  • 打赏
  • 举报
回复
改了它:
Panel1->Color=TColor(r);
dclman 2004-01-23
  • 打赏
  • 举报
回复
哈哈``` 好!! 收了``` 嘿嘿~~
cupidvenus 2004-01-22
  • 打赏
  • 举报
回复
GetCursorPos和GetPixel
lovebcb 2004-01-22
  • 打赏
  • 举报
回复
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
TPoint p;
HDC d;
DWord r;
GetCursorPos(&p);
d=GetDC(0);
r=GetPixel(d,p.x,p.y);
Panel1->Color=r;
Edit1->Text=IntToStr(GetRValue(r));
Edit2->Text=IntToStr(GetGValue(r));
Edit3->Text=IntToStr(GetBValue(r));
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled=True;
Button1->Enabled=False;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{

hotkeyid=GlobalAddAtom("UserDefined")-0xC000;
RegisterHotKey(NULL,hotkeyid,MOD_ALT,26);

}
//---------------------------------------------------------------------------



void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
UnregisterHotKey(NULL,hotkeyid);
DeleteAtom(hotkeyid);
}
//---------------------------------------------------------------------------

void TForm1::WMHotKey(TWMHotKey Msg)
{
if (Msg.HotKey==hotkeyid)
{
Msg.Result=1;
Timer1->Enabled=True;
Button1->Enabled=False;
}
}


新年快乐!
lovebcb 2004-01-22
  • 打赏
  • 举报
回复
看个例子,
三个Edit,1个button,1个timer(设false),1个panel

点button后,三个edit中分别显示RGB的值,panel显示颜色
CPerlAsm_Lx 2004-01-22
  • 打赏
  • 举报
回复
那是在color dialog里用的吧.我是说直接得到屏幕任何一点的颜色.
tip9914 2004-01-22
  • 打赏
  • 举报
回复
这个类中应该有GetColor一类的函数呀

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧