Difference between revisions of "FindColorEx"

From SCAR Divi Manual
Jump to: navigation, search
m (Freddy moved page FindColors to FindColorEx without leaving a redirect)
Line 3: Line 3:
 
==Definition==
 
==Definition==
 
<source lang="scar" lines="false">
 
<source lang="scar" lines="false">
function FindColors(out Points: TPointArray; const Color, XS, YS, XE, YE: Integer): Boolean;
+
function FindColorEx(out Points: TPointArray; const Color, XS, YS, XE, YE: Integer): Boolean;
 
</source>
 
</source>
  
 
==Availability==
 
==Availability==
SCAR Divi 3.20 > Current
+
SCAR Divi 3.35 > Current
 +
 
 +
===Aliases===
 +
*FindColors (SCAR Divi 3.00 > 3.34)
  
 
==Description==
 
==Description==
Line 17: Line 20:
 
<source lang="scar">
 
<source lang="scar">
 
var
 
var
   w, h: Integer;
+
   W, H: Integer;
 
   TPA: TPointArray;
 
   TPA: TPointArray;
  
 
begin
 
begin
   GetClientDimensions(w, h);
+
   GetBoxSize(GetClient.ImageArea, W, H);
   if FindColors(TPA, 0, 0, 0, w - 1, h - 1) then
+
   if FindColorEx(TPA, 0, 0, 0, W - 1, H - 1) then
 
   begin
 
   begin
 
     WriteLn('Found color ' + IntToStr(Length(TPA)) + ' times');
 
     WriteLn('Found color ' + IntToStr(Length(TPA)) + ' times');
Line 31: Line 34:
  
 
==See Also==
 
==See Also==
*[[FindColorsTolerance]]
+
*[[FindColorExTolerance]]
 
*[[FindColor]]
 
*[[FindColor]]
 
*[[CountColor]]
 
*[[CountColor]]

Revision as of 14:01, 7 August 2012

FindColors.gif

Definition

function FindColorEx(out Points: TPointArray; const Color, XS, YS, XE, YE: Integer): Boolean;

Availability

SCAR Divi 3.35 > Current

Aliases

  • FindColors (SCAR Divi 3.00 > 3.34)

Description

This function searches for a given color specified by Color using a scan-line pattern. The search area is given as a set of upper-left (XS, YS) and lower-right (XE, YE) coordinates which are specified relative to the selected client window. If the given search area is invalid (XS > XE or YS > YE), an exception is thrown.

The function returns false if the color was not found, if it was it returns true and the coordinates of all found instances of the color in the TPointArray Points.

Example

var
  W, H: Integer;
  TPA: TPointArray;

begin
  GetBoxSize(GetClient.ImageArea, W, H);
  if FindColorEx(TPA, 0, 0, 0, W - 1, H - 1) then
  begin
    WriteLn('Found color ' + IntToStr(Length(TPA)) + ' times');
    WriteLn('Coordinates: ' + TPAToStr(TPA));
  end;
end.

See Also