Difference between revisions of "FindColorSpiral2"

From SCAR Divi Manual
Jump to: navigation, search
(Created page with "==Definition== <source lang="scar" lines="false"> function FindColorSpiral2(var x, y: Integer; Color, xs, ys, xe, ye: Integer): Boolean; </source> ==Availability== SCAR Divi 3.0...")
 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Definition==
 
==Definition==
 
<source lang="scar" lines="false">
 
<source lang="scar" lines="false">
function FindColorSpiral2(var x, y: Integer; Color, xs, ys, xe, ye: Integer): Boolean;
+
function FindColorSpiral2(var X, Y: Integer; const Color, XS, YS, XE, YE: Integer): Boolean;
 
</source>
 
</source>
  
 
==Availability==
 
==Availability==
SCAR Divi 3.00 > Current
+
SCAR Divi 3.00 > 3.34
 +
 
 +
*Before SCAR Divi 3.33, the search would not start in the middle of the search area if '''X''' or '''Y''' are smaller than 0.
  
 
==Description==
 
==Description==
This function searches for a given color specified by '''Color''' inside of a given search area specified by '''xs''', '''ys''', '''xe''', '''ye''' using a spiral 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. The search begins at the given ('''x''', '''y''') coordinate, if '''x''' or '''y''' are outside of the search area, if the given coordinates are outside of the search area, the funciton will spiral until it enters and covers the entire search area. The function returns [[false]] if the color was not found, if it was it returns [[true]] and the coordinates of the center of the area of linked pixels containing 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''' using a spiral 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 search will start at the coordinates given by ('''X''', '''Y'''), if these coordinates are outside of the bounds of the search area, the function will start searching at the center of the search area.
 +
 
 +
The function returns [[false]] if the color was not found, if it was it returns [[true]] and the coordinates of the center of the entire spanning area of the found color in ('''X''', '''Y'''). The search will stop after the first instance of the color was found.
  
 
==Example==
 
==Example==
Line 28: Line 34:
 
*[[FindColor]]
 
*[[FindColor]]
  
[[Category:Functions]]
+
[[Category:Deprecated Functions]]
[[Category:Color Functions]]
 

Latest revision as of 21:18, 7 August 2012

Definition

function FindColorSpiral2(var X, Y: Integer; const Color, XS, YS, XE, YE: Integer): Boolean;

Availability

SCAR Divi 3.00 > 3.34

  • Before SCAR Divi 3.33, the search would not start in the middle of the search area if X or Y are smaller than 0.

Description

This function searches for a given color specified by Color using a spiral 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 search will start at the coordinates given by (X, Y), if these coordinates are outside of the bounds of the search area, the function will start searching at the center of the search area.

The function returns false if the color was not found, if it was it returns true and the coordinates of the center of the entire spanning area 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);
  x := w div 2; y := h div 2;
  if FindColorSpiral2(x, y, 0, 0, 0, w - 1, h - 1) then
    WriteLn('Found color at ' + IntToStr(x) + ', ' + IntToStr(y));
end.

See Also