Вверх ↑
Ответов: 2059
Рейтинг: 132
#1: 2020-06-07 10:31:40 ЛС | профиль | цитата
Честно говоря я не сразу понял, что надо. Изначально я понял, что надо двигать картинки маленькие поверх больших.
объединять несколько изображений в одно, только чтобы это проходило как фоновый процесс, а не скриншотом)))

Понятие очень растяжимое! То-ли несколько картинок в качестве пароллакса, а другие в качестве переднего плана, то-ли картинки объединяются в одну, как в скелетной анимации, а может картинки склеиваются для получения одного большого прокручиваемого ландшафта, или карты... И таких вариантов очень много и много отвечающих запросу.
Можно выбор картинок так сделать:
Add(MainForm,7201573,252,70)
{
Width=531
Height=447
Position=1
}
Add(ChildScrollBox,10420897,924,182)
{
}
BEGIN_SDK
Add(EditMulti,14862066,21,21)
{
WorkCount=2
Width=132
Height=95
link(doWork1,6176876:##add,[])
link(doWork2,14340509:doResize,[(46,34)(46,62)])
}
Add(ScrollBox,2609350,28,77)
{
Left=10
Top=30
Width=503
Height=305
Ctl3D=1
Name="lll"
BorderStyle=1
}
Add(ChildPanelEx,6176876,112,21)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,8769387,21,21)
{
WorkCount=#5:##add|
Point(##add)
link(##add,13574903:doLoad,[(116,27)(116,48)])
}
Add(Panel,1442032,49,63)
{
Width=115
Height=105
Color=16708020
WinStyle=1
Layout="parent.grid"
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(Image,13574903,126,42)
{
Left=2
Top=2
Width=76
Height=61
Align=5
ViewStyle=5
}
END_SDK
Add(GridLayout,14340509,112,56)
{
Name="grid"
Space=5
Padding=5
Rows=2
Cols=3
AddMode=1
}
END_SDK
Add(InlineCode,7501453,707,175)
{
WorkPoints=#13:doClearSpisok|8:doSpisok|6:doInit|6:doFile|7:doStart|8:doFinish|
EventPoints=#7:onClear|5:onIdx|6:onFile|6:Rezerv|6:onPath|4:onPs|4:onLs|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|27: l:array[0..4] of string;|29: spisok : Array of String; |7: K,|8: C, |8: S, |15: F:integer;|29: procedure calk(i:integer);|9: public|73: count, onClear, onIdx, onPath, onFile, onLs, onPs,Rezerv : THI_Event;|57: procedure doClearSpisok(var _Data:TData; Index:Word);|52: procedure doSpisok(var _Data:TData; Index:Word);|50: procedure doInit(var _Data:TData; Index:Word);|50: procedure doFile(var _Data:TData; Index:Word);|51: procedure doStart(var _Data:TData; Index:Word);|52: procedure doFinish(var _Data:TData; Index:Word);|5: end;|0:|50:const ext:string=('bmp gif ico jpg jpeg png tif');|0:|14:implementation|0:|0:|36:procedure THiAsmClass.doClearSpisok;|5:begin|21: SetLength(spisok,0);|4:end;|0:|29:procedure THiAsmClass.doFile;|5:begin|41: _hi_onEvent(onFile,l[toInteger(_Data)]);|4:end;|0:|31:procedure THiAsmClass.doSpisok;|17:var ss, S:string;|14: i:integer;|5:begin|8: ss:='';|22: S := toString(_Data);|39: If (S='') or (pos('.',S)=0) then Exit;|70: for i:=length(S) downto 1 do IF s[i]='.' then break else ss:=S[i]+ss;|19: ss:=lowerCase(ss);|28: if pos(ss,ext)=0 then Exit;|20: i:= High(spisok)+1;|23: SetLength(spisok,i+1);|14: spisok[i]:=S;|4:end;|0:|29:procedure THiAsmClass.doinit;|5:BEGIN|18: C:=High(spisok);|9: S:=0; |33: If (C>5) then F:=C-5 else F:=C;|32: If C<5 then K:=C else K:=4; |10: calk(1);|4:END;|0:|38:procedure THiAsmClass.calk(i:integer);|14:var n:integer;|5:begin|10: case i of|11: 0: begin|62: If ((C-S)<9)then S:=C-4 else S:=S+4; // S:=S+4; |45: If S>F then S:=F+1; // If S>F then|10: end;|10: 1:begin|14: S:=S-4; |23: If S<0 then S:=0;|6: |9: end;|5: end;|23: _hi_onEvent(onClear);|59: If S=0 then _hi_onEvent(onLs,0) else _hi_onEvent(onLs,1);|74: If (S>F)or(C<5) then _hi_onEvent(onPs,0) else _hi_onEvent(onPs,1); //|19: For n:=0 to K do |9: begin|24: l[n]:=spisok[n+S];|27: _hi_onEvent(onIdx,n);|31: _hi_onEvent(onPath,l[n]);|12: end; |4:end;|0:|30:procedure THiAsmClass.doStart;|5:BEGIN|9: calk(0);|4:END;|0:|31:procedure THiAsmClass.doFinish;|5:BEGIN|9: calk(1);|4:END;|4:end.|
link(onClear,5968486:doEvent1,[])
link(onIdx,5968486:doEvent,[])
link(onFile,12519286:doLoadFrom,[])
link(onPath,12519286:doGetThumbFrom,[])
link(onPs,1358769:doVisible,[(753,216)(753,249)(597,249)(597,216)])
link(onLs,13649227:doVisible,[(745,223)(745,243)(653,243)(653,223)])
}
Add(FileSearch,2629711,546,182)
{
SubDir=1
TimeType=1
link(onSearch,7501453:doSpisok,[])
link(onEndSearch,7501453:doInit,[])
}
Add(Browse,9986803,434,175)
{
link(onBrowse,6456784:doText,[])
}
Add(Edit,6456784,476,175)
{
Left=75
Top=5
Width=395
Color=6908265
Font=[Courier New,12,1,16777215,204]
Ctl3D=1
Text=""
Alignment=2
link(onChange,11488404:doEvent1,[])
link(onEnter,11488404:doEvent2,[])
}
Add(Hub,11488404,518,175)
{
InCount=2
link(onEvent1,7501453:doClearSpisok,[])
link(onEvent2,2629711:doSearch,[])
}
Add(Img_GDIFileProcessor,12519286,770,189)
{
Point(onGetThumb)
Point(doGetThumbFrom)
link(onLoad,710780:doEvent1,[(849,195)(849,188)])
link(onGetThumb,5968486:doEvent2,[])
}
Add(ChildPanelEx,5968486,847,175)
{
link(onRead,7501453:doFile,[(888,181)(888,261)(590,261)(590,202)])
}
BEGIN_SDK
Add(EditMultiEx,14500564,21,21)
{
WorkCount=#8:doEvent1|7:doEvent|4:Free|8:doEvent2|
EventCount=#6:onRead|
Width=335
Height=249
VOffset=28
link(doEvent1,15091165:doEvent1,[(73,55)(73,132)])
link(doEvent,7440660:doValue,[(57,62)(57,146)])
link(doEvent2,12724308:doEvent,[(45,76)(45,195)])
}
Add(Panel,8947318,294,147)
{
Left=25
Top=350
Width=474
Height=66
Color=3683892
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(Image,7975942,196,49)
{
Left=5
Width=85
Height=65
Color=6908265
Ctl3D=0
WinStyle=1
ViewStyle=5
link(onClick,5423092:doWork1,[])
}
Add(Image,1542487,196,217)
{
Left=385
Width=85
Height=65
Color=6908265
Ctl3D=0
WinStyle=1
ViewStyle=5
link(onClick,5423092:doWork5,[(252,223)(252,83)])
}
Add(Image,12463613,196,175)
{
Left=290
Width=85
Height=65
Color=6908265
Ctl3D=0
WinStyle=1
ViewStyle=5
link(onClick,5423092:doWork4,[(245,181)(245,76)])
}
Add(Image,688805,196,133)
{
Left=195
Width=85
Height=65
Color=6908265
Ctl3D=0
WinStyle=1
ViewStyle=5
link(onClick,5423092:doWork3,[(239,139)(239,69)])
}
Add(Image,16651437,196,91)
{
Left=100
Width=85
Height=65
Color=6908265
Ctl3D=0
WinStyle=1
ViewStyle=5
link(onClick,5423092:doWork2,[(234,97)(234,62)])
}
Add(IndexToChanel,12724308,70,189)
{
Count=5
Point(Index)
link(onEvent1,7975942:doLoad,[(113,195)(113,55)])
link(onEvent2,16651437:doLoad,[(120,202)(120,97)])
link(onEvent3,688805:doLoad,[(179,209)(179,139)])
link(onEvent4,12463613:doLoad,[(186,216)(186,181)])
link(onEvent5,1542487:doLoad,[])
link(Index,7440660:Value,[])
}
Add(ChanelToIndex,5423092,259,49)
{
Count=5
link(onIndex,14500564:onRead,[])
}
Add(Hub,15091165,140,126)
{
OutCount=5
link(onEvent1,7975942:doClear,[(163,132)(163,62)])
link(onEvent2,16651437:doClear,[(170,139)(170,104)])
link(onEvent3,688805:doClear,[])
link(onEvent4,12463613:doClear,[(165,153)(165,188)])
link(onEvent5,1542487:doClear,[(160,160)(160,230)])
}
Add(Memory,7440660,70,140)
{
}
END_SDK
Add(Label,13649227,665,210)
{
Left=2
Top=355
Width=10
Height=17
Font=[Consolas,28,1,16777215,204]
Visible=1
Caption="<"
ColorHover=65280
Point(doVisible)
link(onClick,7501453:doFinish,[])
}
Add(Label,1358769,609,203)
{
Left=501
Top=355
Width=10
Height=17
Font=[Consolas,28,1,16777215,204]
Visible=1
Caption=">"
ColorHover=65280
Point(doVisible)
link(onClick,7501453:doStart,[])
}
Add(Button,10553116,350,175)
{
Left=10
Top=5
link(onClick,9986803:doBrowse,[])
}
Add(Hub,710780,896,182)
{
link(onEvent1,10420897:doWork1,[])
link(onEvent2,10420897:doWork2,[])
}

карма: 6

0
Редактировалось 5 раз(а), последний 2020-06-07 14:41:21