iarspider писал(а):
разбиваешь кадр на 9 частей (3х3), чтобы кружка была ровно в одном квадрате, и если картинка поменялась только в квадрате с кружкой, то включай сирену. это не универсально (
------------ Дoбавленo в 00.09:
может как нибудь вот эту усовершенствовать?
Add(MainForm,14744033,7,14)
{
Name="form"
Position=1
}
Add(Image,12720702,273,98)
{
Left=5
Top=5
Width=180
Height=135
Color=12639424
}
Add(Image,3881204,448,98)
{
Left=200
Top=5
Width=180
Height=135
Color=12639424
}
Add(Button,14869059,28,189)
{
Left=65
Top=200
Color=200
Caption="Compare"
link(onClick,8209910:doEvent1,[])
}
Add(Resize,10831970,273,203)
{
Width=256
Height=256
link(onResult,3387299:doLoad,[])
link(Bitmap,12720702:ImageBitmap,[])
}
Add(Resize,9213604,448,196)
{
Width=256
Height=256
link(onResult,3624391:doLoad,[])
link(Bitmap,3881204:ImageBitmap,[])
}
Add(ToRGB,4245840,364,259)
{
link(onResult,14953827:doGetPixel,[])
}
Add(Bitmap,3387299,322,203)
{
}
Add(Img_GetPoint,13995015,322,259)
{
link(onGetPixel,4245840:doGetRGB,[])
link(Bitmap,3387299:Bitmap,[])
link(X,16645285:Var2,[])
link(Y,9071818:Var2,[])
}
Add(ToRGB,6601163,532,259)
{
link(onResult,708708:doCalc,[(571,265)(571,295)(499,295)(499,321)])
}
Add(Bitmap,3624391,490,196)
{
}
Add(Img_GetPoint,14953827,490,259)
{
link(onGetPixel,6601163:doGetRGB,[])
link(Bitmap,3624391:Bitmap,[])
link(X,16645285:Var3,[(503,246)])
link(Y,9071818:Var3,[(510,240)])
}
Add(Hub,8209910,238,189)
{
OutCount=4
link(onEvent2,10434941:doEvent1,[])
link(onEvent3,10831970:doResize,[])
link(onEvent4,3507623:doFor,[(264,216)(264,229)(184,229)(184,265)])
}
Add(Hub,10434941,420,196)
{
link(onEvent1,9213604:doResize,[])
link(onEvent2,708708:doClear,[(442,209)(442,328)])
}
Add(MathParse,708708,511,315)
{
DataCount=6
MathStr="%0 + abs(%1+%2+%3-%4-%5-%6)"
ResultType=0
Point(doClear)
link(X1,4245840:R,[(517,308)(370,308)])
link(X2,4245840:G,[(524,303)(377,303)])
link(X3,4245840:B,[(531,298)(384,298)])
link(X4,6601163:R,[])
link(X5,6601163:G,[])
link(X6,6601163:B,[])
}
Add(Label,8957200,672,364)
{
Left=145
Top=200
Caption=""
}
Add(For,3507623,196,259)
{
End=255
link(onEvent,3433992:doFor,[])
link(onStop,13244206:doCalc,[(251,272)(251,363)])
}
Add(For,3433992,273,259)
{
End=255
link(onEvent,13995015:doGetPixel,[])
}
Add(GetDataEx,9071818,336,235)
{
Angle=3
link(Data,3507623:Position,[(243,240)(243,296)(202,296)])
}
Add(GetDataEx,16645285,329,241)
{
Angle=3
link(Data,3433992:Position,[(315,246)(315,302)(279,302)])
}
Add(MathParse,13244206,511,357)
{
DataCount=1
MathStr="100-%1/251658.24"
ResultType=0
link(onResult,8957200:doText,[(625,363)(625,370)])
link(X1,708708:Result,[])
}