Simba Code:
{$DEFINE SMART}
{$i SRL/SRL.Simba}
const
ocr_Limit_High = 190;
ocr_Limit_Med = 130;
ocr_Limit_Low = 65;
ocr_White = 16777215; //correct.
ocr_Green = 65280; //correct.
ocr_Red = 131800; //correct.
ocr_Yellow = 65535; //correct.
ocr_Blue = 13819407; //correct.
ocr_ItemC = 3572697; //correct.
ocr_ItemC2 = ocr_Red or ocr_Green; //dunno what this is.
ocr_Purple = 8388736; //wrong.. shadow is black.. Fails completely if this changes even by +- 1.
OF_LN = 256;
OF_HN = -1;
function load0(rl, rh, gl, gh, bl, bh, set_col: integer; is_text_color: boolean): TOCRFILTERDATA;
begin
result.r_low := rl;
result.r_high := rh;
result.g_low := gl;
result.g_high := gh;
result.b_low := bl;
result.b_high := bh;
result.set_col := set_col;
result._type := 0;
result.is_text_color:= is_text_color;
end;
procedure filter;
var filterdata: TOCRFilterDataArray;
begin
setlength(filterdata, 9);
filterdata[0] := load0(OCR_LIMIT_LOW, OF_HN, OF_LN, OCR_LIMIT_HIGH, OF_LN, OCR_LIMIT_HIGH, ocr_Blue, True);
filterdata[1] := load0(OCR_LIMIT_LOW, OF_HN, OF_LN, OCR_LIMIT_HIGH, OCR_LIMIT_LOW, OF_HN, ocr_Green, True);
filterdata[2] := load0(OCR_LIMIT_LOW, OF_HN, OF_LN, OCR_LIMIT_HIGH, OCR_LIMIT_LOW, OF_HN, ocr_Green, True);
filterdata[3] := load0(OF_LN, OCR_LIMIT_HIGH, OF_LN, OCR_LIMIT_HIGH, OCR_LIMIT_LOW, OF_HN, ocr_Yellow, True);
filterdata[4] := load0(OF_LN, OCR_LIMIT_HIGH, OCR_LIMIT_LOW, OF_HN, OCR_LIMIT_LOW, OF_HN, ocr_Red, True);
filterdata[5] := load0(OF_LN, OCR_LIMIT_HIGH, OF_LN, OCR_LIMIT_LOW, OCR_LIMIT_LOW, OF_HN, ocr_Red, True);
filterdata[6] := load0(OCR_LIMIT_HIGH + 10, OCR_LIMIT_MED, OF_LN, OCR_LIMIT_LOW - 10, 20, OF_HN, ocr_Green, True);
filterdata[7] := load0(OCR_LIMIT_LOW, OF_HN, OF_LN, OCR_LIMIT_HIGH, OCR_LIMIT_LOW, OF_HN, ocr_Green, True);
filterdata[8] := load0(OCR_LIMIT_LOW, OF_HN, OCR_LIMIT_LOW, OF_HN, OCR_LIMIT_LOW, OF_HN, ocr_Purple, False);
rs_SetUpTextFilter(filterdata);
end;
var
Smart: TSmart;
BMP: Integer;
begin
Smart.Create(765, 503);
MoveMouse(620, 233);
filter;
BMP := BitmapFromCLient(6, 6, 76, 24);
FastReplaceColor(BMP, 1068104, 0);
FastReplaceColor(BMP, 1268309, 0);
FastReplaceColor(BMP, 1265742, 0);
FastReplaceColor(BMP, 1267025, 0);
FastReplaceColor(BMP, 1267020, 0);
FastReplaceColor(BMP, 1268304, 0);
DisplayDebugImgWindow(70, 18);
DrawBitmapDebugImg(Bmp);
SetTargetBitmap(bmp);
writeln(rs_GetUpTextAt(0, 0));
rs_ResetUpTextFilter;
end.