pinkx 发表于 2011-3-30 09:00:51

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

delphi如何实现全屏幕或区域扫描一个颜色,如果找色就执行一段代码,我说的找色,就是不知道坐标的情况下,非指定坐标取色,希望高手哥哥帮我解决哈,

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

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

joe85231 发表于 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;

callach 发表于 2011-3-30 09:01:17

象楼上那样取色,如果范围大点的话会慢得抽筋。
建议先把所需区域复制到BITMAP中,然后用内存指针进行查找

feiyang025 发表于 2011-3-30 09:01:27

更详细点,复制到BITMAP,然后用scanline函数,非常快
页: [1]
查看完整版本: delphi如何实现全屏幕或区域找色