Difference between revisions of "FindColorCircleTolerance"

From SCAR Divi Manual
Jump to: navigation, search
Line 1: Line 1:
 
==Definition==
 
==Definition==
 
<source lang="scar" lines="false">
 
<source lang="scar" lines="false">
function FindColorCircleTolerance(var x, y: Integer; Color, mx, my, r, Tol: Integer): Boolean;
+
function FindColorCircleTolerance(out X, Y: Integer; const Color, CX, CY, R, Tol: Integer): Boolean;
 
</source>
 
</source>
  
Line 8: Line 8:
  
 
==Description==
 
==Description==
This function searches for a given color specified by '''Color''' within a [[tolerance]] range specified by '''Tol''' 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. The active tolerance algorithm can be changed using the [[ColorToleranceSpeed]] function.
+
This function searches for a given color specified by '''Color''' within a [[tolerance]] range specified by '''Tol''' inside of a given circular search area specified by the midpoint ('''CX''', '''CY''') and the radius '''r''' using a scan-line pattern.
 +
 
 +
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.
 +
 
 +
The active tolerance algorithm can be changed using the [[ColorToleranceSpeed]] function.
  
 
==Example==
 
==Example==

Revision as of 14:45, 2 April 2012

Definition

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

Availability

SCAR Divi 3.00 > Current

Description

This function searches for a given color specified by Color within a tolerance range specified by Tol inside of a given circular search area specified by the midpoint (CX, CY) and the radius r using a scan-line pattern.

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.

The active tolerance algorithm can be changed using the ColorToleranceSpeed function.

Example

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

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

See Also