А так элементы трансформации и были сделаны для того чтоб решить этот вопрос. Это конечно не единственный возможный вариант, но с вашей задачей вполне справится.
Add(MainForm,3511061,119,140)
{
Width=450
Height=477
Position=1
}
Add(PaintBox,10240805,343,259)
{
Width=50
Height=50
Color=0
ClearBeforeDraw=0
Point(onPaint)
link(onBeforeDraw,5703441:doDraw,[])
}
Add(Img_Point,5703441,392,259)
{
Color=65280
Size=3
Point(X)
Point(Y)
Point(Transform)
link(onDraw,15989258:doDraw,[])
link(Bitmap,7493472:getVar,[])
link(X,9559049:Count,[])
link(Y,14158608:Count,[(412,215)(447,215)])
}
Add(LineBreakEx,7493472,392,231)
{
Caption="bmp"
Type=2
}
Add(LineBreakEx,2355599,343,301)
{
Caption="bmp"
Type=3
link(_Data,10240805:Bitmap,[])
}
Add(Timer,11092191,350,140)
{
Interval=290
link(onTimer,9559049:doNext,[])
}
Add(CounterEx,9559049,399,140)
{
Max=50
link(onNext,14158608:doNext,[])
}
Add(CounterEx,14158608,441,140)
{
Max=50
link(onNext,16222458:doNext,[])
}
Add(Img_Point,15989258,476,259)
{
Color=65280
Size=3
Point(X)
Point(Y)
Point(Transform)
link(Bitmap,4013458:getVar,[])
link(X,16222458:Count,[])
link(Y,10010829:Count,[(496,215)(531,215)])
}
Add(LineBreakEx,4013458,476,231)
{
Caption="bmp"
Type=2
}
Add(CounterEx,16222458,483,140)
{
Max=50
Direct=1
link(onNext,10010829:doNext,[])
}
Add(CounterEx,10010829,525,140)
{
Max=50
Direct=1
link(onNext,10240805:doRefresh,[(577,146)(577,327)(323,327)(323,265)])
}
Add(PaintBox,1132952,329,532)
{
Left=65
Width=50
Height=50
Color=0
ClearBeforeDraw=0
Point(onPaint)
link(onBeforeDraw,510685:doDraw,[])
}
Add(Img_Point,510685,371,532)
{
Color=65280
Size=3
Point(X)
Point(Y)
Point(Transform)
link(onDraw,16363929:doDraw,[])
link(Bitmap,9154436:getVar,[])
link(Transform,14568100:Transform,[])
}
Add(LineBreakEx,9154436,371,504)
{
Caption="bmp2"
Type=2
}
Add(LineBreakEx,13034508,329,574)
{
Caption="bmp2"
Type=3
link(_Data,1132952:Bitmap,[])
}
Add(Img_Point,16363929,434,532)
{
X=50
Y=50
Color=65280
Size=3
Point(X)
Point(Y)
Point(Transform)
link(Bitmap,15770649:getVar,[])
link(Transform,4380928:Transform,[])
}
Add(LineBreakEx,15770649,434,504)
{
Caption="bmp2"
Type=2
}
Add(Img_UseOffset,4380928,455,462)
{
link(X,2850402:Var2,[])
link(Y,2850402:Var3,[(475,439)])
}
Add(Math,3693233,462,385)
{
OpType=2
Op2=-1
link(onResult,1132952:doRefresh,[(522,391)(522,602)(317,602)(317,538)])
AddHint(16,-18,33,13,Op2)
}
Add(CounterEx,5162668,357,385)
{
Max=5000
link(onNext,16360056:doOperation,[])
}
Add(GetDataEx,2850402,462,434)
{
link(Data,3693233:Result,[])
}
Add(Img_UseOffset,14568100,392,462)
{
link(X,10106676:Var2,[])
link(Y,10106676:Var3,[(412,439)])
}
Add(Math,16360056,399,385)
{
OpType=3
Op2=10
link(onResult,3693233:doOperation,[])
AddHint(16,-18,36,13,Op2)
}
Add(GetDataEx,10106676,399,434)
{
link(Data,16360056:Result,[])
}
Add(Timer,1360580,315,385)
{
Interval=30
link(onTimer,5162668:doNext,[])
}