Вверх ↑
Ответов: 1535
Рейтинг: 176
#1: 2013-01-21 10:59:05 ЛС | профиль | цитата
Вообщем, в прилагаемом шаблоне, нужно увеличитьуменьшить всю картинку в точке расположения курсора над этой самой картинкой, при помощи скролла (колесо мыши). Т.е. курсор мыши указывает центр масштабирования картинки. Голову уже сломал.
Add(MainForm,11427165,399,63)
{
Width=652
Height=491
}
Add(ChildPanel,3206379,581,63)
{
}
BEGIN_SDK
Add(EditMulti,10106438,28,21)
{
WorkCount=1
Width=657
Height=508
link(doWork1,8531400:doLoad,[(49,27)(49,76)])
}
Add(Panel,9845587,56,105)
{
Left=75
Top=5
Width=569
Height=449
Color=16711680
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(Hub,13203121,238,70)
{
OutCount=3
link(onEvent1,7614620:doLoad,[])
link(onEvent2,3567399:doData,[])
link(onEvent3,4697609:doCalc,[(265,90)(265,168)(187,168)(187,307)])
}
Add(Image,7614620,448,70)
{
Width=570
Height=450
Color=12639424
Point(onMouseDown)
Point(onMouseMove)
Point(onMouseWheel)
Point(doSetFocus)
Point(Width)
Point(Height)
Point(Left)
Point(Top)
Point(Handle)
Point(doWidth)
Point(doHeight)
Point(doLeft)
Point(doTop)
Point(MouseX)
Point(MouseY)
link(onMouseDown,7961584:doMove,[])
link(onMouseMove,7614620:doSetFocus,[(521,90)(521,61)(436,61)(436,90)])
link(onMouseWheel,6410142:doCalc,[(535,97)(535,452)(306,452)(306,370)])
}
Add(MoveWindow,7961584,574,77)
{
link(Handle,7614620:Handle,[(580,65)(547,65)(547,132)(489,132)])
}
Add(Img_Loader,8531400,189,70)
{
Point(ImageWidth)
Point(ImageHeight)
link(onLoad,13203121:doEvent1,[])
}
Add(DoData,3567399,273,77)
{
@Hint=#44:Устанавливаем картинку в исходное положение.|
Data=String(560;440;0;0)
link(onEventData,13334793:doSplit,[(324,83)(324,41)])
AddHint(-122,-46,157,26,@Hint)
}
Add(MT_MultiData,1016511,350,91)
{
Count=4
link(onData1,15003113:doWork2,[])
link(onData2,4348091:doWork2,[])
link(onData3,13090885:doWork2,[])
link(onData4,14056429:doWork2,[])
}
Add(HubEx,13090885,399,105)
{
link(onEvent,7614620:doLeft,[])
}
Add(HubEx,14056429,392,112)
{
link(onEvent,7614620:doTop,[])
}
Add(MultiStrData,13334793,350,35)
{
Count=4
link(onPart1,15003113:doWork1,[(417,41)])
link(onPart2,4348091:doWork1,[(410,48)])
link(onPart3,13090885:doWork1,[(403,55)])
link(onPart4,14056429:doWork1,[(396,62)])
}
Add(HubEx,4348091,406,98)
{
link(onEvent,7614620:doHeight,[])
}
Add(HubEx,15003113,413,91)
{
link(onEvent,7614620:doWidth,[])
}
Add(Math,16498202,413,301)
{
OpType=2
ResultType=0
link(onResult,7699264:doCalc,[])
link(Op2,11734163:Var3,[(426,258)])
}
Add(Math,1268462,420,350)
{
OpType=2
ResultType=0
link(onResult,14759686:doCalc,[])
link(Op2,1399574:Var3,[(433,249)])
}
Add(Hub,4830515,371,301)
{
OutCount=3
link(onEvent1,16498202:doOperation,[])
link(onEvent2,1268462:doOperation,[(403,314)(403,356)])
link(onEvent3,2639226:doAdd,[(393,321)(393,419)])
}
Add(MathParse,7699264,455,301)
{
DataCount=3
MathStr="%3-((%1-%2)/2)"
link(X2,141144:Var2,[(468,271)(461,271)])
link(X3,7614620:Left,[])
}
Add(MathParse,14759686,483,350)
{
DataCount=3
MathStr="%3-((%1-%2)/2)"
link(X2,5536969:Var3,[(496,184)])
link(X3,7614620:Top,[(503,165)(482,165)])
}
Add(MT_AddData,2639226,413,413)
{
Count=4
link(onAdd,1016511:doSeparateMT,[(524,419)(524,154)(338,154)(338,97)])
link(Data1,16498202:Result,[])
link(Data2,1268462:Result,[])
link(Data3,7699264:Result,[(433,394)(461,394)])
link(Data4,14759686:Result,[(440,401)(489,401)])
}
Add(MathParse,6410142,322,364)
{
@Hint=#47:Используем скролл для изменения масштаба +-0.01|
MathStr="((%1>0)*(%2+0.01))+
((%1<0)*(%2-0.01))
"
link(onResult,5195672:doWork3,[(366,370)(366,347)(277,347)])
link(X2,13261770:Value,[])
AddHint(-283,84,200,26,@Hint)
}
Add(Memory,13261770,329,301)
{
link(onData,4830515:doEvent1,[])
}
Add(GetDataEx,1399574,231,244)
{
Angle=3
link(Data,8531400:ImageHeight,[(209,249)])
}
Add(If_else,6420539,287,301)
{
@Hint=#32:Ограничиваем уменьшение масштаба|
Type=4
link(onTrue,13261770:doValue,[])
link(Op2,4697609:Result,[(300,289)(262,289)(262,345)(230,345)])
AddHint(-205,113,158,26,@Hint)
}
Add(MathParse,4697609,224,301)
{
@Hint=#56:Создаем исходный коэффициент вписывающий картинку в окно|
DataCount=4
MathStr="min((%1/%2),(%3/%4))"
link(onResult,5195672:doWork2,[])
link(X1,5536969:Var1,[(230,184)])
link(X2,1399574:Var2,[])
link(X3,141144:Var1,[(244,201)])
link(X4,11734163:Var2,[])
AddHint(-172,79,187,26,@Hint)
}
Add(GetDataEx,11734163,245,253)
{
Angle=3
link(Data,8531400:ImageWidth,[(202,258)])
}
Add(GetDataEx,141144,455,196)
{
link(Data,7614620:Width,[])
}
Add(HubEx,5195672,273,301)
{
link(onEvent,6420539:doCompare,[])
}
Add(GetDataEx,5536969,462,179)
{
link(Data,7614620:Height,[])
}
END_SDK
Add(Button,7450850,448,63)
{
Left=15
Top=15
link(onClick,15336679:doExecute,[])
}
Add(ODialog,15336679,511,63)
{
link(onExecute,3206379:doWork1,[])
}

карма: 1
Не так страшна ошибка, как опасность её не заметить.

1
Голосовали:sintet