Вверх ↑
Этот топик читают: Гость
Ответов: 1682
Рейтинг: 149
#1: 2017-07-09 14:08:38 ЛС | профиль | цитата
Под текстурой я понимаю, когда левый край является продолжением правого, а верхний - нижнего, т.е. нет швов, как на картинке:


Т.е. чтоб можно было замостить без швов. Но так как подобрать такую картинку очень трудно (я намучился с теми же кофейным зёрнами - не нашёл текстуры, ложащейся без швов), то попробовал сделать сам. Получилось, правда, не однородно, а с узорами, но иногда это и требуется. Суть в простом зеркальном отражении - см. видео.

--- Добавлено в 2017-07-09 14:23:34

Вот программа для просмотра текстур:
Add(MainForm,5667796,-222,462)
{
Left=20
Top=105
Caption="Просмотр обоев"
WindowsState=2
}
Add(DropFile,7683913,-341,399)
{
link(onDropFile,6080719:doEvent1,[])
}
Add(ImageLoader,4407330,-222,399)
{
DrawSource=2
link(onLoad,4407330:doDraw,[(-180,405)(-180,390)(-234,390)(-234,412)])
link(onDraw,6896807:doLoad,[])
}
Add(Image,6896807,-152,406)
{
Width=392
Height=273
Align=5
ViewStyle=3
}
Add(Hub,6080719,-285,399)
{
link(onEvent1,4407330:doLoad,[])
link(onEvent2,5667796:doCaption,[(-247,412)(-247,468)])
}

И получившийся рисунок-текстура:

Редактировалось 4 раз(а), последний 2017-07-09 14:26:02
карма: 5
0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 25378
Рейтинг: 2070
#2: 2017-07-09 14:52:45 ЛС | профиль | цитата
3042 писал(а):
Вот программа для просмотра текстур

Использовать ImageLoader крайне нежелательно из-за проблем отображения некоторых форматов изображения. Вот почему он находится в скрытой вкладке и для прямого использования недоступен.
карма: 19

0
Ответов: 1682
Рейтинг: 149
#3: 2017-07-09 17:24:24 ЛС | профиль | цитата
Это просто старая схема. Сейчас, конечно, не использую.
карма: 5
0
Ответов: 1682
Рейтинг: 149
#4: 2017-07-09 20:54:43 ЛС | профиль | цитата
А вот программа для автоматического отражения картинок:

Add(MainForm,2953706,84,126)
{
WindowsState=2
}
Add(DropFile,6062595,84,259)
{
link(onDropFile,6143234:doLoad,[])
}
Add(ChildScrollBox,5930991,511,973)
{
}
BEGIN_SDK
Add(EditMulti,14871627,21,21)
{
WorkCount=1
link(doWork1,8681899:doLoad,[(77,27)(77,97)])
}
Add(ScrollBox,5341459,56,161)
{
Width=392
Height=272
Align=5
}
Add(Image,8681899,133,91)
{
Color=-16777196
AutoSize=0
ViewStyle=4
link(onClick,6175256:doExecute,[])
}
Add(SDialog,6175256,182,91)
{
Filter="bmp(*.bmp)|*.bmp|jpg(*.jpg)|*.jpg"
StartDir=""
FileName=""
link(onExecute,2419335:doSave,[])
}
Add(PictureStream,2419335,238,84)
{
Quality=100
link(Bitmap,8681899:ImageBitmap,[(251,72)(195,72)(195,135)(139,135)])
}
END_SDK
Add(Img_Loader,6143234,133,259)
{
link(onLoad,2772020:doEvent1,[])
}
Add(Hub,2772020,182,259)
{
OutCount=6
link(onEvent1,14171475:doLoad,[(218,265)(218,132)])
link(onEvent2,15744161:doOperation,[(277,272)(277,321)])
link(onEvent3,13061766:doData,[(242,279)(242,447)])
link(onEvent4,270647:doOperation,[(217,286)(217,608)])
link(onEvent5,8165870:doOperation,[(214,293)(214,811)])
link(onEvent6,2658267:doOperation,[(206,300)(206,979)])
}
Add(Bitmap,14171475,343,126)
{
Point(Width)
Point(Height)
}
Add(Math,15744161,350,315)
{
OpType=2
Op2=2
ResultType=0
link(onResult,5963121:doOperation,[])
link(Op1,13611005:Var2,[])
}
Add(Math,5963121,413,315)
{
OpType=2
Op2=2
ResultType=0
link(onResult,7765300:doCreate,[])
link(Op1,2559225:Var3,[(419,173)])
}
Add(Bitmap,7765300,483,301)
{
Point(HWidth)
Point(HHeight)
Point(doCreate)
link(HWidth,14429300:Var,[])
link(HHeight,5963121:Result,[(496,289)(458,289)(458,359)(419,359)])
}
Add(LineBreak,12671738,350,364)
{
Type=1
link(Data,15744161:Result,[])
Primary=[14429300,133,-98]
}
Add(Img_Bmp,1187565,336,441)
{
link(Bitmap,9407312:Var,[])
link(SourceBitmap,10025478:Var2,[])
}
Add(LineBreak,6763636,483,364)
{
Caption="img"
Type=1
link(Data,2045025:Var2,[])
Primary=[9407312,-147,49]
}
Add(Img_UseFlip,16452140,357,553)
{
Mode=1
}
Add(DoData,13061766,287,441)
{
link(onEventData,1187565:doDraw,[])
}
Add(Img_Bmp,4567428,336,602)
{
Point(Y)
Point(Transform)
link(Bitmap,681945:Var,[])
link(SourceBitmap,13889587:Var,[])
link(Y,270647:Result,[(356,590)(300,590)(300,646)(244,646)])
link(Transform,16452140:Transform,[])
}
Add(DoData,11790381,287,602)
{
link(onEventData,4567428:doDraw,[])
}
Add(GetDataEx,2045025,483,343)
{
link(Data,7765300:Bitmap,[])
}
Add(LineBreak,7588213,497,364)
{
Caption="img"
Type=1
link(Data,1325801:Var2,[])
Primary=[681945,-161,147]
}
Add(GetDataEx,3795024,357,168)
{
link(Data,14171475:Height,[])
}
Add(LineBreak,10058281,357,189)
{
Caption="H"
Type=1
link(Data,3795024:Var2,[])
Primary=[11400436,-119,385]
}
Add(Math,270647,238,602)
{
OpType=1
Op2=1
ResultType=0
link(onResult,11790381:doData,[])
link(Op1,11400436:Var,[])
}
Add(Img_Bmp,1121255,329,805)
{
Point(X)
Point(Transform)
link(Bitmap,13359774:Var,[])
link(SourceBitmap,1695701:Var,[])
link(X,8165870:Result,[(349,793)(293,793)(293,849)(237,849)])
link(Transform,4920442:Transform,[])
}
Add(DoData,10170650,280,805)
{
link(onEventData,1121255:doDraw,[])
}
Add(Math,8165870,231,805)
{
OpType=1
Op2=1
ResultType=0
link(onResult,10170650:doData,[])
link(Op1,10852651:Var,[])
}
Add(LineBreak,9740864,287,189)
{
Caption="src"
Type=1
link(Data,15272337:Var1,[(293,173)])
Primary=[13889587,56,343]
}
Add(GetDataEx,10025478,343,168)
{
link(Data,14171475:Bitmap,[])
}
Add(Img_UseFlip,4920442,350,756)
{
}
Add(LineBreak,8950474,511,364)
{
Caption="img"
Type=1
link(Data,13663981:Var2,[])
Primary=[13359774,-182,322]
}
Add(GetDataEx,1325801,497,343)
{
Angle=3
link(Data,2045025:Var3,[])
}
Add(LineBreak,15349270,301,189)
{
Caption="src"
Type=1
link(Data,15272337:Var2,[])
Primary=[1695701,35,518]
}
Add(GetDataEx,15272337,301,168)
{
Angle=1
link(Data,223887:Var1,[])
}
Add(GetDataEx,13611005,350,217)
{
link(Data,14171475:Width,[])
}
Add(LineBreak,4768886,364,238)
{
Caption="W"
Type=1
link(Data,4607939:Var2,[])
Primary=[10852651,-133,539]
}
Add(DoData,802786,462,973)
{
link(onEventData,5930991:doWork1,[])
link(Data,2045025:Var1,[(468,348)])
}
Add(Img_Bmp,6662080,371,973)
{
Point(X)
Point(Y)
Point(Transform)
link(onDraw,802786:doData,[])
link(Bitmap,10157754:Var,[])
link(SourceBitmap,6380672:Var,[])
link(X,2658267:Result,[(391,961)(311,961)(311,1017)(230,1017)])
link(Y,3233632:Result,[(398,961)(338,961)(338,1017)(279,1017)])
link(Transform,5101640:Transform,[])
}
Add(DoData,4831465,322,973)
{
link(onEventData,6662080:doDraw,[])
}
Add(Math,2658267,224,973)
{
OpType=1
Op2=1
ResultType=0
link(onResult,3233632:doOperation,[])
link(Op1,14757301:Var,[])
}
Add(Img_UseFlip,5101640,399,924)
{
Mode=2
}
Add(GetDataEx,13663981,511,343)
{
Angle=3
link(Data,1325801:Var3,[])
}
Add(LineBreak,10880671,525,364)
{
Caption="img"
Type=1
link(Data,13663981:Var3,[(531,348)])
Primary=[10157754,-154,511]
}
Add(GetDataEx,223887,315,168)
{
Angle=1
link(Data,10025478:Var1,[])
}
Add(LineBreak,2694538,315,189)
{
Caption="src"
Type=1
link(Data,223887:Var2,[])
Primary=[6380672,63,707]
}
Add(Math,3233632,273,973)
{
OpType=1
Op2=1
ResultType=0
link(onResult,4831465:doData,[])
link(Op1,6204977:Var,[])
}
Add(GetDataEx,4607939,364,217)
{
Angle=3
link(Data,13611005:Var3,[])
}
Add(LineBreak,1288069,378,238)
{
Caption="W"
Type=1
link(Data,4607939:Var3,[(384,222)])
Primary=[14757301,-154,707]
}
Add(GetDataEx,2559225,371,168)
{
Angle=3
link(Data,3795024:Var3,[])
}
Add(LineBreak,14148105,371,189)
{
Caption="H"
Type=1
link(Data,2559225:Var2,[])
Primary=[6204977,-98,756]
}
карма: 5
0
файлы: 2text111.rar [1.7MB] [104], 4zvp1ba4.png [198.6KB] [444]
Разработчик
Ответов: 4668
Рейтинг: 420
#5: 2017-07-10 00:36:53 ЛС | профиль | цитата
В mp4 размер меньше и можно делать вот так:
video
[scroll=video][video]https://sinair.ru/f/MBItsm?dl[/video][/scroll]

Редактировалось 2 раз(а), последний 2017-07-10 00:37:31
карма: 10
0
Ответов: 8283
Рейтинг: 773
#6: 2017-07-10 13:52:53 ЛС | профиль | цитата
3042 писал(а):
попробовал сделать сам

Ой, и я попробовал Добавил кружочки
Проба

Add(MainForm,2953706,217,70)
{
Width=230
Height=270
link(onCreate,4386862:doWork1,[(275,90)(275,125)])
}
Add(Image,965903,420,119)
{
Left=5
Top=30
Width=200
Height=200
Align=5
link(Bitmap,3828978:Var3,[(426,108)])
}
Add(ChildForm,823960,364,126)
{
link(Data1,3828978:Var2,[])
}
BEGIN_SDK
Add(EditMulti,5873213,21,21)
{
WorkCount=1
DataCount=1
VOffset=40
HOffset=100
link(doWork1,13443017:doEvent1,[])
}
Add(MainForm,2845033,91,105)
{
Left=600
Top=105
Height=400
Visible=1
BorderStyle=0
Point(doVisible)
}
Add(If_else,13712605,91,63)
{
Type=5
Op2=Integer(0)
link(onTrue,6884487:doFor,[])
link(onFalse,10734222:##clear,[(130,76)(130,104)(228,104)(228,76)])
}
Add(Hub,13443017,49,63)
{
link(onEvent1,13712605:doCompare,[])
link(onEvent2,2845033:doVisible,[(74,76)(74,139)])
}
Add(ChildPanelEx,10734222,245,63)
{
Mode=1
}
BEGIN_SDK
Add(EditMultiEx,15090891,21,21)
{
WorkCount=#5:##add|7:##clear|
Point(##add)
Point(##clear)
link(##add,6777138:doLoad,[(109,27)(109,90)])
}
Add(Panel,7609803,35,105)
{
Width=100
Height=100
Layout="parent.MyPlitka"
}
Add(Image,6777138,119,84)
{
Width=100
Height=100
}
END_SDK
Add(For,6884487,140,63)
{
End=15
link(onEvent,12156900:doData,[])
link(onStop,12181050:doResize,[(179,76)(179,132)])
}
Add(DoData,12156900,189,63)
{
link(onEventData,10734222:##add,[])
link(Data,5873213:Data1,[(195,54)(127,54)])
}
Add(GridLayout,12181050,189,126)
{
Name="MyPlitka"
Rows=4
Cols=4
}
END_SDK
Add(MultiElement,4386862,301,119)
{
link(onEvent1,965903:doLoad,[])
link(onEvent2,823960:doWork1,[])
link(Data1,12590619:Var1,[(307,111)(294,111)(294,167)(223,167)])
link(Data2,12590619:Var2,[(314,103)(286,103)(286,159)(230,159)])
}
BEGIN_SDK
Add(EditMulti,3031986,21,21)
{
EventCount=2
WorkCount=3
DataCount=2
VarCount=1
Width=867
Height=466
HOffset=20
link(doWork1,826587:doWork1,[(326,27)])
link(doWork2,14058929:doEvent1,[(51,34)(51,181)])
link(Var1,14362460:Var1,[(47,103)])
link(doWork3,11106133:doEvent1,[(39,41)(39,328)])
}
Add(Bitmap,16752093,385,56)
{
HWidth=200
HHeight=200
FillColor=12639424
Point(doCreate)
}
Add(Hub,5807769,336,70)
{
OutCount=3
link(onEvent1,16752093:doCreate,[])
link(onEvent2,509514:doWork3,[(361,83)])
link(onEvent3,5653257:doRandomize,[(360,90)(360,121)(144,121)(144,216)])
}
Add(For,10551274,91,203)
{
link(onEvent,5653257:doRandom,[])
link(onStop,170029:doWork2,[])
link(End,3031986:Data1,[(104,48)(47,48)])
}
Add(Hub,14058929,56,175)
{
OutCount=5
link(onEvent1,14119275:doWork2,[])
link(onEvent2,3092211:doClear,[(151,188)(151,174)(627,174)(627,223)])
link(onEvent3,2081470:doClear,[(270,195)(270,181)(522,181)(522,223)])
link(onEvent4,9916520:doWork2,[])
link(onEvent5,10551274:doFor,[])
}
Add(Random,6013706,224,210)
{
Min=20
Max=200
link(onRandom,5212358:doRandom,[])
}
Add(Random,5212358,273,210)
{
Max=360
link(onRandom,3372845:doOperation,[])
}
Add(Math,7054388,371,210)
{
OpType=13
AngleMode=1
link(onResult,5665:doFor,[])
link(Op1,5212358:Random,[(377,201)(362,201)(362,258)(279,258)])
}
Add(Math,3372845,322,210)
{
OpType=12
link(onResult,7054388:doOperation,[])
}
Add(Img_Point,16013103,693,210)
{
Point(X)
Point(Y)
Point(Color)
Point(Size)
link(Bitmap,83993:Var3,[(699,103)])
link(X,8088628:Var1,[(706,187)(489,187)])
link(Y,1443815:Var3,[(713,201)])
link(Color,10470004:Value,[])
link(Size,13279088:Var1,[(727,187)])
}
Add(MathParse,11537644,483,210)
{
MathStr="frac((%1 + %2 + 200)/200)*200"
link(onResult,2081470:doValue,[])
link(X1,8088628:Var2,[])
link(X2,3372845:Result,[(496,194)(468,194)(468,264)(328,264)])
}
Add(For,5665,427,210)
{
IncludeEnd=1
link(onEvent,11537644:doCalc,[])
link(End,6013706:Random,[(440,201)(419,201)(419,250)(230,250)])
}
Add(Memory,2081470,532,210)
{
Default=Real(100)
link(onData,7334579:doCalc,[])
}
Add(MathParse,7334579,588,210)
{
MathStr="frac((%1 + %2 + 200)/200)*200"
link(onResult,3092211:doValue,[])
link(X1,1443815:Var2,[])
link(X2,7054388:Result,[(601,194)(575,194)(575,274)(377,274)])
}
Add(Memory,3092211,637,210)
{
Default=Real(100)
link(onData,16013103:doDraw,[])
}
Add(Memory,10470004,714,147)
{
Default=Integer(255)
}
Add(Memory,9628494,756,147)
{
Default=Integer(2)
}
Add(GetDataEx,8088628,483,196)
{
Angle=3
link(Data,2081470:Value,[(478,201)(478,261)(538,261)])
}
Add(GetDataEx,1443815,588,196)
{
Angle=3
link(Data,3092211:Value,[(583,201)(583,261)(643,261)])
}
Add(Random,5653257,154,203)
{
Min=200
Max=16777215
link(onRandom,12854925:doEvent1,[])
}
Add(Hub,12854925,196,203)
{
link(onEvent1,10470004:doValue,[(263,209)(263,153)])
link(onEvent2,6013706:doRandom,[])
}
Add(GetDataEx,14362460,385,98)
{
link(Data,16752093:Bitmap,[])
}
Add(HubEx,826587,322,70)
{
link(onEvent,5807769:doEvent1,[])
}
Add(HubEx,14119275,133,175)
{
Angle=3
link(onEvent,2562250:doEvent1,[(137,34)])
}
Add(Hub,11106133,56,322)
{
OutCount=5
link(onEvent1,10957382:doWork2,[])
link(onEvent2,9916520:doWork3,[(81,335)])
link(onEvent5,7561958:doFor,[])
}
Add(HubEx,170029,133,210)
{
Angle=3
link(onEvent,14119275:doWork3,[])
}
Add(For,7561958,98,350)
{
link(onEvent,14544835:doRandom,[])
link(onStop,10957382:doWork3,[(137,363)])
link(End,3031986:Data2,[(111,40)(54,40)])
}
Add(Random,2714368,245,357)
{
Max=199
link(onRandom,5976818:doRandom,[])
}
Add(Random,5976818,294,357)
{
Max=199
link(onRandom,10931256:doRandom,[])
}
Add(For,8676080,385,357)
{
End=359
link(onEvent,7889241:doCalc,[])
}
Add(Random,10931256,336,357)
{
Min=5
Max=50
link(onRandom,8676080:doFor,[])
}
Add(MathParse,7889241,455,357)
{
DataCount=3
MathStr="frac((%1 + %3*cos(%2) + 200)/200)*200"
AngleMode=1
link(onResult,5681665:doCalc,[])
link(X1,2714368:Random,[(461,348)(448,348)(448,418)(251,418)])
link(X3,8817353:Var2,[])
}
Add(MathParse,5681665,504,357)
{
DataCount=3
MathStr="frac((%1 + %3*sin(%2) + 200)/200)*200"
AngleMode=1
link(onResult,7548355:doDraw,[])
link(X1,5976818:Random,[(510,342)(438,342)(438,410)(300,410)])
link(X2,8676080:Position,[(517,335)(425,335)(425,400)(391,400)])
link(X3,8817353:Var3,[(524,327)])
}
Add(GetDataEx,8817353,469,322)
{
Angle=3
link(Data,10931256:Random,[(376,327)(376,400)(342,400)])
}
Add(HubEx,10957382,133,322)
{
Angle=3
link(onEvent,170029:doWork3,[])
}
Add(Hub,5890461,217,350)
{
link(onEvent1,13855810:doValue,[(284,356)(284,307)])
link(onEvent2,2714368:doRandom,[])
}
Add(Random,14544835,161,350)
{
Min=200
Max=16777215
link(onRandom,5890461:doEvent1,[])
}
Add(Img_Point,7548355,567,357)
{
Point(X)
Point(Y)
Point(Color)
Point(Size)
link(Bitmap,83993:Var2,[(573,278)(580,278)(580,180)(573,180)])
link(X,7889241:Result,[(580,348)(558,348)(558,407)(461,407)])
link(Y,5681665:Result,[(587,341)(552,341)(552,397)(510,397)])
link(Color,13855810:Value,[])
link(Size,5673325:Var2,[(601,343)(762,343)])
}
Add(GetDataEx,83993,567,98)
{
Angle=3
link(Data,14362460:Var3,[])
}
Add(GetDataEx,5673325,756,182)
{
link(Data,9628494:Value,[])
}
Add(Memory,13855810,588,301)
{
}
Add(GetDataEx,13279088,735,182)
{
Angle=1
link(Data,5673325:Var1,[])
}
Add(HubEx,9916520,77,196)
{
Angle=3
link(onEvent,826587:doWork3,[(81,118)(326,118)])
}
Add(Hub,2562250,280,28)
{
link(onEvent1,3031986:onEvent2,[])
link(onEvent2,509514:doWork2,[])
}
Add(HubEx,509514,357,35)
{
Angle=3
link(onEvent,3031986:onEvent1,[(361,27)])
}
END_SDK
Add(GetDataEx,3828978,364,103)
{
Angle=3
link(Data,4386862:Var1,[(356,108)(356,159)(307,159)])
}
Add(ChildPanel,12590619,217,119)
{
link(onEvent1,4386862:doWork2,[(267,125)(267,132)])
link(onEvent2,4386862:doWork3,[(258,132)(258,139)])
}
BEGIN_SDK
Add(EditMulti,12951779,21,21)
{
EventCount=2
VarCount=2
Width=174
Height=116
link(Var1,11247631:Text,[(27,75)(83,75)])
link(Var2,8895389:Text,[(34,124)(83,124)])
}
Add(Panel,4803681,35,35)
{
Width=215
Height=30
Align=2
}
Add(Edit,11247631,77,35)
{
Left=50
Top=5
Text="200"
DataType=2
ClearAfterEnter=1
}
Add(Button,3377274,119,35)
{
Left=10
Top=5
Width=40
Caption="------"
Data=Integer(0)
link(onClick,12951779:onEvent1,[(158,41)(158,27)])
}
Add(Button,14499151,119,84)
{
Left=115
Top=5
Width=45
Caption="о о о"
Data=Integer(0)
link(onClick,12951779:onEvent2,[(165,90)(165,34)])
}
Add(Edit,8895389,77,84)
{
Left=160
Top=5
Text="40"
}
END_SDK


Редактировалось 1 раз(а), последний 2017-07-10 19:17:21
карма: 14

0
Ответов: 1682
Рейтинг: 149
#7: 2017-07-11 13:37:09 ЛС | профиль | цитата
Выполнил эффект текстуризации отражением в коде и добавил функцию в компонент JanFX.

Редактировалось 1 раз(а), последний 2017-07-11 14:13:04
карма: 5
0
Ответов: 8283
Рейтинг: 773
#8: 2017-07-12 13:51:09 ЛС | профиль | цитата
3042, "А вот кофе, а ну кому кофе!" http://forum.hiasm.com/getfile/38150
ЗёрнаКофе.jpg
карма: 14

1
Голосовали:3042
Ответов: 1682
Рейтинг: 149
#9: 2017-07-12 22:46:43 ЛС | профиль | цитата
А вот и новый вариант программы для создания бесшовных текстур из любого рисунка:

Add(ChildScrollBox,12913899,455,525)
{
}
BEGIN_SDK
Add(EditMulti,8785714,21,21)
{
WorkCount=1
Width=349
link(doWork1,6008021:doLoad,[(49,27)(49,97)])
}
Add(ScrollBox,826,322,35)
{
Width=622
Height=451
Align=5
}
Add(Image,6008021,77,91)
{
Color=-16777196
Hint="Нажмите для сохранения"
AutoSize=0
ViewStyle=4
Point(doWidth)
link(onClick,16205854:doExecute,[])
}
Add(SDialog,16205854,133,91)
{
Filter="bmp(*.bmp)|*.bmp|jpg(*.jpg)|*.jpg"
FileName=""
link(onExecute,448738:doSave,[])
}
Add(PictureStream,448738,182,84)
{
Quality=100
link(Bitmap,6008021:ImageBitmap,[(195,72)(139,72)(139,135)(83,135)])
}
END_SDK
Add(DropFile,9710177,70,336)
{
link(onDropFile,10132625:doLoad,[])
}
Add(Img_Loader,10132625,175,336)
{
link(onLoad,3121095:doEvent1,[])
}
Add(JanFX,3448494,406,525)
{
Value1=0
Point(doTexturizeFlip)
Point(Value1)
link(onResult,12913899:doWork1,[])
link(Bitmap,652026:Var3,[(412,481)])
link(Value1,9740366:Var1,[])
}
Add(ChildPanel,9740366,413,336)
{
link(onEvent1,2274624:In,[])
link(onEvent2,10419402:doOperation,[])
link(onEvent3,662988:doOperation,[(517,356)(517,454)])
}
BEGIN_SDK
Add(EditMulti,15471261,21,21)
{
EventCount=3
VarCount=1
link(Var1,14539959:Checked,[(27,141)(34,141)])
}
Add(Panel,4921578,126,84)
{
Width=622
Height=30
Align=2
BorderWidth=0
}
Add(CheckBox,14539959,28,28)
{
Left=5
Top=5
Width=205
Caption="Уменьшать до размеров оригинала"
link(onCheck,15471261:onEvent1,[(190,34)(190,27)])
}
Add(Button,6634262,231,56)
{
Left=220
Top=5
Width=105
Caption="-пиксель справа"
link(onClick,15471261:onEvent2,[(292,62)(292,34)])
}
Add(Button,3616187,231,91)
{
Left=330
Top=5
Width=105
Caption="-пиксель снизу"
link(onClick,15471261:onEvent3,[(292,97)(292,41)])
}
END_SDK
Add(LineBreak,6914966,203,525)
{
Caption="/2"
link(Out,9802696:doWork2,[])
Primary=[2274624,252,-189]
}
Add(Bitmap,16534695,329,336)
{
Point(Width)
Point(Height)
}
Add(Hub,3121095,224,336)
{
link(onEvent1,6636961:doWork2,[])
link(onEvent2,9802696:doWork1,[(249,349)])
}
Add(Img_Copy,3467771,686,343)
{
Point(Width)
Point(Height)
Point(Result)
link(onCopy,16343768:doEvent1,[])
link(Source,16340907:Var,[])
link(Width,10419402:Result,[(713,331)(653,331)(653,387)(594,387)])
link(Height,8823926:Var,[])
}
Add(HubEx,9802696,245,525)
{
link(onEvent,3448494:doTexturizeFlip,[])
}
Add(Math,10419402,588,343)
{
OpType=1
Op2=1
ResultType=0
link(onResult,6403349:doData,[])
link(Op1,657879:Var,[])
}
Add(LineBreak,7297838,336,448)
{
Caption="W"
Type=1
link(Data,2386190:Var2,[])
Primary=[657879,252,-133]
}
Add(GetDataEx,14324293,329,476)
{
link(Data,16534695:Bitmap,[])
}
Add(LineBreak,1473647,329,497)
{
Caption="img"
Type=1
link(Data,14324293:Var2,[])
Primary=[16340907,357,-203]
}
Add(DoData,6403349,637,343)
{
link(onEventData,3467771:doCopy,[])
}
Add(LineBreak,2229778,343,399)
{
Caption="H"
Type=1
link(Data,5191141:Var2,[])
Primary=[8823926,371,-91]
}
Add(HubEx,6636961,308,336)
{
link(onEvent,16534695:doLoad,[])
}
Add(LineBreak,2167145,266,343)
{
link(Out,6636961:doWork3,[(312,349)])
Primary=[15081674,497,0]
}
Add(Hub,16343768,735,343)
{
link(onEvent1,15081674:In,[])
link(onEvent2,15622566:In,[])
}
Add(LineBreak,15790560,203,532)
{
link(Out,10502063:doWork2,[])
Primary=[15622566,560,-182]
}
Add(Img_Copy,3179012,686,448)
{
Point(Width)
Point(Height)
Point(Result)
link(onCopy,9927305:doEvent1,[])
link(Source,2383250:Var,[])
link(Width,9776775:Var,[])
link(Height,662988:Result,[(720,436)(657,436)(657,492)(594,492)])
}
Add(Math,662988,588,448)
{
OpType=1
Op2=1
ResultType=0
link(onResult,807391:doData,[])
link(Op1,11693036:Var,[])
}
Add(LineBreak,11010206,357,392)
{
Caption="H"
Type=1
link(Data,5191141:Var3,[(363,383)])
Primary=[11693036,231,28]
}
Add(LineBreak,6934838,343,497)
{
Caption="img"
Type=1
link(Data,652026:Var2,[])
Primary=[2383250,343,-98]
}
Add(DoData,807391,637,448)
{
link(onEventData,3179012:doCopy,[])
}
Add(LineBreak,11315537,350,441)
{
Caption="W"
Type=1
link(Data,2386190:Var3,[(356,432)])
Primary=[9776775,357,-28]
}
Add(LineBreak,6858181,266,329)
{
link(Out,6636961:doWork1,[(312,335)])
Primary=[8813832,497,119]
}
Add(Hub,9927305,735,448)
{
link(onEvent1,8813832:In,[])
link(onEvent2,8899895:In,[])
}
Add(LineBreak,5925343,203,539)
{
link(Out,10502063:doWork3,[(249,545)])
Primary=[8899895,560,-84]
}
Add(GetDataEx,5191141,343,378)
{
link(Data,16534695:Height,[])
}
Add(GetDataEx,2386190,336,427)
{
link(Data,16534695:Width,[])
}
Add(HubEx,10502063,245,532)
{
Angle=3
link(onEvent,9802696:doWork3,[])
}
Add(GetDataEx,652026,343,476)
{
Angle=3
link(Data,14324293:Var3,[])
}

Здесь уже можно обрезать исходную картинку, делая стыки отражений плавнее. Требуется обновлённый компонент JanFX.
карма: 5
0
9
Сообщение
...
Прикрепленные файлы
(файлы не залиты)