Difference between revisions of "FindColorTolEx"
Line 3: | Line 3: | ||
==Definition== | ==Definition== | ||
<source lang="scar" lines="false"> | <source lang="scar" lines="false"> | ||
− | function FindColorsTolerance( | + | function FindColorsTolerance(out Points: TPointArray; const Color, XS, YS, XE, YE, Tol: Integer): Boolean; |
</source> | </source> | ||
Line 10: | Line 10: | ||
==Description== | ==Description== | ||
− | This function searches for a given color specified by '''Color''' within a [[tolerance]] range specified by '''Tol''' inside of a given search area specified by ''' | + | This function searches for a given color specified by '''Color''' within a [[tolerance]] range specified by '''Tol''' inside of a given search area specified by '''XS''', '''YS''', '''XE''', '''YE''' 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'''. 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 13:26, 2 April 2012
Definition
function FindColorsTolerance(out Points: TPointArray; const Color, XS, YS, XE, YE, 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 search area specified by XS, YS, XE, YE 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. 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; TPA: TPointArray; begin GetClientDimensions(w, h); if FindColorsTolerance(TPA, 4, 0, 0, w - 1, h - 1, 5) then begin WriteLn('Found color ' + IntToStr(Length(TPA)) + ' times'); WriteLn('Coordinates: ' + TPAToStr(TPA)); end; end.