看流星社区

 找回密码
 注册账号
查看: 3375|回复: 3

[Delphi] delphi如何实现全屏幕或区域找色

[复制链接]

该用户从未签到

发表于 2011-3-30 09:00:51 | 显示全部楼层 |阅读模式
delphi如何实现全屏幕或区域扫描一个颜色,如果找色就执行一段代码,我说的找色,就是不知道坐标的情况下,非指定坐标取色,希望高手哥哥帮我解决哈,

如果直接很难实现要调用按键精灵的dll也行啊,也希望给个源码

注:希望给个全的例子,小弟在些感谢不尽!!!!!

该用户从未签到

发表于 2011-3-30 09:01:07 | 显示全部楼层
全屏区域找色,其实也不难的
和屏幕取色没什么差别只是性质改了一下而已

function GetColorPos(const C: TColor): TPoint;
var
  i,j: integer;
begin
  for i := 0 to Screen.Width - 1 do
  begin
    for j := 0 to Screen.Height - 1do
      if GetPixel(GetDC(0), i, j) = c then
      begin
        Result := Point(i,j);
        exit;
      end;
  end;
end;

该用户从未签到

发表于 2011-3-30 09:01:17 | 显示全部楼层
象楼上那样取色,如果范围大点的话会慢得抽筋。
建议先把所需区域复制到BITMAP中,然后用内存指针进行查找

该用户从未签到

发表于 2011-3-30 09:01:27 | 显示全部楼层
更详细点,复制到BITMAP,然后用scanline函数,非常快
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-29 21:05

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表