Difference between revisions of "FindColorCircle"

From SCAR Divi Manual
Jump to: navigation, search
(Created page with "right ==Definition== <source lang="scar" lines="false"> function FindColorCircle(var x, y: Integer; Color, mx, my, r: Integer): Boolean; </source> ...")
 
Line 3: Line 3:
 
==Definition==
 
==Definition==
 
<source lang="scar" lines="false">
 
<source lang="scar" lines="false">
function FindColorCircle(var x, y: Integer; Color, mx, my, r: Integer): Boolean;
+
function FindColorCircle(out X, Y: Integer; const Color, CX, CY, R: Integer): Boolean;
 
</source>
 
</source>
  
Line 10: Line 10:
  
 
==Description==
 
==Description==
This function searches for a given color specified by '''Color''' inside of a given circular search area specified by the midpoint ('''mx''', '''my''') and the radius '''r''' which is specified relative to the selected client window. The function returns [[false]] if the color was not found, if it was it returns [[true]] and the coordinates of the found color in ('''x''', '''y'''). The search will stop after the first color was found.
+
This function searches for a given color specified by '''Color''' inside of a given circular search area specified by the midpoint ('''CX''', '''CY''') and the radius '''r''' 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 the found color in ('''X''', '''Y'''). The search will stop after the first instance of the color was found.
  
 
==Example==
 
==Example==

Revision as of 13:36, 2 April 2012

FindColorCircle.gif

Definition

function FindColorCircle(out X, Y: Integer; const Color, CX, CY, R: Integer): Boolean;

Availability

SCAR Divi 3.00 > Current

Description

This function searches for a given color specified by Color inside of a given circular search area specified by the midpoint (CX, CY) and the radius r 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 the found color in (X, Y). The search will stop after the first instance of the color was found.

Example

var
  w, h: Integer;
  x, y: Integer;

begin
  GetClientDimensions(w, h);
  if FindColorCircle(x, y, 0, w div 2, h div 2, w div 4) then
    WriteLn('Found color at ' + IntToStr(x) + ', ' + IntToStr(y));
end.

See Also