Леоднид, спасио. Эта схема намного лучше чем:
Add(MultiElement,5782944,455,441) { } BEGIN_SDK Add(EditMulti,5962252,21,21) { EventCount=2 WorkCount=1 DataCount=4 VarCount=1 Width=762 Height=543 link(doWork1,7180770:doEvent1,[(67,27)(67,62)]) link(Var1,13322082:Result,[(27,543)(321,543)(321,518)(272,518)]) } Add(Resize,12948869,133,84) { Width=64 Height=64 link(onResult,8669139:doLoad,[]) link(Bitmap,7310428:Var2,[]) link(Width,13325129:Var2,[(146,52)(41,52)]) link(Height,12015985:Var2,[]) } Add(Resize,9009937,343,77) { Width=64 Height=64 link(onResult,16446063:doLoad,[(380,83)(380,76)]) link(Bitmap,4414491:Var2,[]) link(Width,15500496:Var3,[(356,61)]) link(Height,15500496:Var2,[(363,68)(314,68)]) } Add(ToRGB,15019315,224,175) { link(onResult,6200684:doGetPixel,[]) } Add(Bitmap,8669139,182,84) { } Add(Img_GetPoint,14728374,182,175) { link(onGetPixel,15019315:doGetRGB,[]) link(Bitmap,8669139:Bitmap,[]) link(X,12851410:Var2,[]) link(Y,6541409:Var2,[]) } Add(ToRGB,11846650,427,175) { link(onResult,656891:doOperation,[(471,181)(471,214)(212,214)(212,251)]) } Add(Bitmap,16446063,385,70) { } Add(Img_GetPoint,6200684,385,175) { link(onGetPixel,11846650:doGetRGB,[]) link(Bitmap,16446063:Bitmap,[]) link(X,12851410:Var3,[(398,159)]) link(Y,6541409:Var3,[(405,152)]) } Add(Hub,7180770,98,56) { OutCount=6 link(onEvent1,5962252:onEvent2,[(126,62)(126,34)(598,41)(598,34)]) link(onEvent2,5398473:doEvent1,[]) link(onEvent3,9009937:doResize,[(228,76)(228,83)]) link(onEvent4,3150194:doEvent1,[]) link(onEvent5,12948869:doResize,[]) link(onEvent6,15108406:doFor,[(124,97)(124,132)(44,132)(44,181)]) } Add(For,15108406,56,175) { End=63 link(onEvent,5880581:doFor,[]) link(onStop,12531511:doEvent1,[(100,188)(100,318)(65,318)(65,447)]) link(End,1043597:Var2,[]) } Add(For,5880581,133,175) { End=63 link(onEvent,14728374:doGetPixel,[]) link(End,1043597:Var3,[(146,159)]) } Add(GetDataEx,6541409,196,147) { Angle=3 link(Data,15108406:Position,[(103,152)(103,218)(62,218)]) } Add(GetDataEx,12851410,189,154) { Angle=3 link(Data,5880581:Position,[(166,159)(166,219)(139,219)]) } Add(Resize,15951677,252,77) { Width=1 Height=1 link(onResult,11547737:doLoad,[]) link(Bitmap,7310428:Var3,[(258,54)]) } Add(Bitmap,11547737,294,77) { } Add(ToRGB,2596599,336,119) { } Add(Hub,3150194,224,77) { link(onEvent1,15951677:doResize,[]) link(onEvent2,2273486:doGetPixel,[(246,90)(246,125)]) } Add(Img_GetPoint,2273486,294,119) { link(onGetPixel,2596599:doGetRGB,[]) link(Bitmap,11547737:Bitmap,[]) } Add(GetDataEx,7310428,133,49) { link(Data,5962252:Data1,[(139,40)(27,40)]) } Add(Resize,3907573,462,63) { Width=1 Height=1 link(onResult,6570775:doLoad,[]) link(Bitmap,4414491:Var3,[(468,54)]) } Add(Bitmap,6570775,504,63) { } Add(ToRGB,12798068,546,105) { } Add(Hub,5398473,434,63) { link(onEvent1,3907573:doResize,[]) link(onEvent2,16110342:doGetPixel,[(456,76)(456,111)]) } Add(Img_GetPoint,16110342,504,105) { link(onGetPixel,12798068:doGetRGB,[]) link(Bitmap,6570775:Bitmap,[]) } Add(GetDataEx,4414491,343,49) { link(Data,5962252:Data2,[(349,28)(34,28)]) } Add(Math,656891,224,245) { OpType=1 ResultType=0 link(onResult,398748:doOperation,[]) link(Op1,15019315:R,[]) link(Op2,2596599:R,[(237,227)(342,227)]) } Add(Math,398748,266,245) { OpType=1 ResultType=0 link(onResult,11741974:doOperation,[]) link(Op1,15019315:G,[(272,221)(237,221)]) link(Op2,2596599:G,[(279,232)(349,232)]) } Add(Math,11741974,308,245) { OpType=1 ResultType=0 link(onResult,4180764:doOperation,[]) link(Op1,15019315:B,[(314,216)(244,216)]) link(Op2,2596599:B,[(321,236)(356,236)]) } Add(Math,4180764,427,245) { OpType=1 ResultType=0 link(onResult,1802863:doOperation,[]) link(Op1,11846650:R,[]) link(Op2,12798068:R,[(440,228)(552,228)]) } Add(Math,1802863,469,245) { OpType=1 ResultType=0 link(onResult,9165585:doOperation,[]) link(Op1,11846650:G,[(475,222)(440,222)]) link(Op2,12798068:G,[(482,234)(559,234)]) } Add(Math,9165585,511,245) { OpType=1 ResultType=0 link(onResult,9398927:doOperation,[(555,251)(555,281)(66,281)(66,342)]) link(Op1,11846650:B,[(517,216)(447,216)]) link(Op2,12798068:B,[(524,239)(566,239)]) } Add(Math,11303505,224,336) { OpType=11 Op2=2 ResultType=0 link(onResult,3431157:doOperation,[]) link(Op1,9453024:Var2,[]) } Add(Math,3431157,266,336) { OpType=11 Op2=2 ResultType=0 link(onResult,12002333:doOperation,[]) link(Op1,4298583:Var2,[]) } Add(Math,12002333,308,336) { OpType=11 Op2=2 ResultType=0 link(onResult,12574629:doOperation,[]) link(Op1,520170:Var2,[]) } Add(Math,12574629,427,336) { OpType=11 Op2=2 ResultType=0 link(onResult,9084452:doOperation,[]) link(Op1,10189459:Var2,[]) } Add(Math,9084452,469,336) { OpType=11 Op2=2 ResultType=0 link(onResult,16322243:doOperation,[]) link(Op1,1890687:Var2,[]) } Add(Math,16322243,511,336) { OpType=11 Op2=2 ResultType=0 link(onResult,14110894:doOperation,[(555,342)(555,370)(65,370)(65,398)]) link(Op1,15591989:Var2,[]) } Add(Math,9398927,77,336) { OpType=2 ResultType=0 link(onResult,4378899:doOperation,[]) link(Op1,9453024:Var1,[(83,285)]) link(Op2,10189459:Var1,[(90,292)]) } Add(Math,4378899,119,336) { OpType=2 ResultType=0 link(onResult,15067962:doOperation,[]) link(Op1,4298583:Var1,[(125,299)]) link(Op2,1890687:Var1,[(132,306)]) } Add(Math,15067962,161,336) { OpType=2 ResultType=0 link(onResult,11303505:doOperation,[]) link(Op1,520170:Var1,[(167,313)]) link(Op2,15591989:Var1,[(174,320)]) } Add(GetDataEx,9453024,224,280) { link(Data,656891:Result,[]) } Add(GetDataEx,10189459,427,287) { link(Data,4180764:Result,[]) } Add(GetDataEx,4298583,266,294) { link(Data,398748:Result,[]) } Add(GetDataEx,1890687,469,301) { link(Data,1802863:Result,[]) } Add(GetDataEx,520170,308,308) { link(Data,11741974:Result,[]) } Add(GetDataEx,15591989,511,315) { link(Data,9165585:Result,[]) } Add(Math,14110894,77,392) { ResultType=0 link(onResult,3010592:doOperation,[]) link(Op1,9398927:Result,[]) link(Op2,4378899:Result,[(90,375)(125,375)]) } Add(Math,3010592,119,392) { ResultType=0 link(onResult,7043260:doOperation,[]) link(Op1,15067962:Result,[(125,380)(167,380)]) } Add(Math,7043260,161,392) { ResultType=0 Point(doClear) link(onResult,14470335:doOperation,[]) link(Op2,8105628:Var3,[(174,380)(198,380)(198,430)]) } Add(Math,14470335,224,392) { ResultType=0 link(onResult,363923:doOperation,[]) link(Op1,11303505:Result,[]) link(Op2,3431157:Result,[(237,374)(272,374)]) } Add(Math,363923,266,392) { ResultType=0 link(onResult,8450439:doOperation,[]) link(Op1,12002333:Result,[(272,380)(314,380)]) } Add(Math,8450439,308,392) { ResultType=0 Point(doClear) link(onResult,6378611:doOperation,[]) link(Op2,5325673:Var3,[(321,380)(348,380)(348,430)]) } Add(Math,6378611,427,392) { ResultType=0 link(onResult,8847039:doOperation,[]) link(Op1,12574629:Result,[]) link(Op2,9084452:Result,[(440,376)(475,376)]) } Add(Math,8847039,469,392) { ResultType=0 link(onResult,8309954:doOperation,[]) link(Op1,16322243:Result,[(475,380)(517,380)]) } Add(Math,8309954,511,392) { ResultType=0 Point(doClear) link(Op2,176640:Var3,[(524,380)(549,380)(549,437)]) } Add(MathParse,13322082,266,476) { DataCount=3 MathStr="(%1/(sqrt(%2)*sqrt(%3)+1))*100" ResultType=0 link(onResult,5962252:onEvent1,[(560,482)(560,27)]) link(X1,8105628:Var2,[(272,438)(167,438)]) link(X2,5325673:Var2,[(279,438)(314,438)]) link(X3,176640:Var2,[(286,445)(517,445)]) } Add(GetDataEx,5325673,308,425) { link(Data,8450439:Result,[]) } Add(GetDataEx,176640,511,432) { link(Data,8309954:Result,[]) } Add(Hub,12531511,77,441) { OutCount=4 link(onEvent1,13322082:doCalc,[(179,447)(179,482)]) link(onEvent2,7043260:doClear,[(156,454)(156,405)]) link(onEvent3,8450439:doClear,[(303,461)(303,405)]) link(onEvent4,8309954:doClear,[(506,468)(506,405)]) } Add(GetDataEx,8105628,161,425) { link(Data,7043260:Result,[]) } Add(GetDataEx,13325129,35,42) { link(Data,5962252:Data3,[]) } Add(GetDataEx,12015985,147,56) { link(Data,13325129:Var3,[(153,47)]) } Add(GetDataEx,15500496,308,56) { Angle=3 link(Data,12015985:Var3,[]) } Add(GetDataEx,1043597,63,154) { link(Data,5962252:Data4,[(69,98)(48,98)]) } END_SDK
Качество сравнивания намного выше. до этого думал считать все x и y изображения и считать среднее значение цвета пикселей. Частично удачно.
|