Вверх ↑
Этот топик читают: Гость
Ответов: 212
Рейтинг: 2
#1: 2017-09-21 10:56:00 ЛС | профиль | цитата
Не понимаю некоторых компонентов. Точнее - о-очень многих. Например, регионы. Такая классссная штука, но сложноватая для понимания. Взять хоть коллизии: в штатном примере все сложно, мне не разобраться никогда. С другой стороны, вроде все просто - вот один регион, вот другой регион. Запустил функцию проверки, если хоть один пиксель совпадает - инициируется событие.
Но в реальности сложнее.
Нужны не простые примеры, а наипростейшие. Впрочем, хорошо, хоть те есть, которые есть.
К большинству компонентов для работы с регионами примеров вообще нет, а открывается вкладка с информацией, которая итак перед глазами. Для парней со светлой головой это не проблема, но что делать нам - безнадежным нубам, ради которых и создавался HiAsm изначально?
В общем, HiAsm завораживает и восхищает, но отсутствие простых примеров и некоторая усложненность работы с компонентами вводят в ступор иной раз. Все это гонит на форум, где "живут" умные люди, на поклон. Так что, уж не обессудьте, я опять с глупыми вопросами.
Вот я сделал простейший пример столкновений двух регионов:


Add(MainForm,2953706,399,308)
{
Width=1112
link(onCreate,2289073:doEvent1,[])
}
Add(Image,14216663,665,112)
{
@Hint=#8:Регион 1|
Left=600
Top=115
Width=100
Height=100
Color=-16777213
Point(Handle)
Point(onMove)
link(onClick,13591175:doMove,[(703,118)(703,152)(663,152)(663,188)])
link(onMove,9006010:In,[])
AddHint(-76,-36,60,13,@Hint)
}
Add(Image,4575564,847,112)
{
@Hint=#8:Регион 2|
Left=780
Top=110
Width=100
Height=100
Color=-16777200
Point(Handle)
Point(onMove)
link(onClick,2059129:doMove,[(885,118)(885,153)(847,153)(847,188)])
link(onMove,10392956:In,[])
AddHint(51,-34,60,13,@Hint)
}
Add(MoveWindow,13591175,672,182)
{
link(Handle,17866:Var2,[])
}
Add(MoveWindow,2059129,854,182)
{
link(Handle,14537724:Var2,[])
}
Add(RGN_Collision,3328721,756,476)
{
link(onTrue,13869669:doEvent1,[])
link(onFalse,2635980:doEvent1,[(819,489)(819,524)])
link(Region1,12778802:Result,[(762,387)(689,384)(580,384)])
link(Region2,14725249:Result,[(769,386)(972,386)])
}
Add(GetDataEx,17866,672,161)
{
link(Data,14216663:Handle,[])
}
Add(GetDataEx,14537724,854,161)
{
link(Data,4575564:Handle,[])
}
Add(LED,6811877,1064,462)
{
Left=820
Top=32
}
Add(Label,12647955,1106,462)
{
Left=734
Top=36
Width=76
Height=17
Caption="Столкновение"
}
Add(LED,11595338,1064,504)
{
Left=818
Top=64
}
Add(Label,3946369,1106,504)
{
Left=704
Top=68
Width=96
Height=17
Caption="Столкновения нет"
}
Add(RGN_OutlinePicture,2456481,497,266)
{
@Hint=#20:Контур для региона 1|
Picture=[ZIP2688000078DAED9D3D68535118868FE0E0E4E0E4240E22E2E028AEBAB8A89320B8896EAEE224945068038142A564A943B13450A8D0221D5A2C144BA11602A5422143B1432D040A9152299642CC5B7A21FE24B937F79CF39D9F37F02C1D6EEE79DFE5A4DFC339F71E5E2FAAD3CFED16375ABC68F1A4C53975F5F4EF3F86D53F9F9999A7AA5CBE451C005DECEC7C5603038A3800BA68369BAA5279C43C844107E802341ADFD4E0E005E62204B24707491F6069E90DB31102D9B777018E8F7FAA52E932F3B10C3247F67FF7013636DE3323CB20F3FF7591303E7E873959025977EB02ECEE7E5185C279E66518648CAC7BF501F0BB8499990519A7E9021C1ED6B9FF35BCBF45C669FB002B2BC3CCCE10C8364B17E0E4E4971A19B9C2FC34834C916DD63EC0D6D60766A81964DA4F170913137799A32690659E2E40BDFE95FB5F4DFB5B6499B70F303FFF9299E60419EAE8021C1D35D4D0D045E6DA27C80E19EAEA03ACADBD65B67D82EC74769130367693F966049999E8026C6F7F62C6194166A6FA0053530F98734A9095C92E38DBCD378335C5C2C22B66DE036464A38B64FFCBD96EF719ACEEFD6D2FAAD577CCBE03C8C666170970EA98FF9F2013892E00DDC6CE8EA114D3D38FD9C319C842B20B7070F09DFBDFB3FD2DB290EE836E6367C7508AD8DDC66E8EA1149B9B9568FBC0DA5DEA2266B7318D6328C5DE5E35AAD92ED68A35BBDA07989D7D164D1F58ABCB5DC4E436F6E3184AB1BA5A0ABE0FACD1872E12B77174F45AB05D606DFD3A8652D46A1F83ED036BF3A98B84C9C9FBC1758135F9D845886EA34EC7508A90DC469D8EA114985B168B97BCEF026BB03D833545086EA329C7500A9FDD46938EA1143EBB8DA61D43297C741B6D388652F8E636DA740CA5585C7CED4D1F78D790BBF069B6EBE20C3666B751CA3194C265B751D231940267A9B8DA47DA735E42C3C5736BB29CF3121AAEB98D2E3986522C2F179CE903EF127317C96CD785FD2FDEC1B719AC295C38B726EF392FA121E936BAEC18C6E636FAE0184A3137F7DC7A1FF84E66DFD96DB4796E0DBECB17C73006B7D127C73074B7D147C73064B7D157C730C4D96EC8335853ECEFD78CEC7FF14C3C9B19BBE13686E01886E23686E4184AB1BE5ED6D6079EC54CDD701B43740C7D761B43750CA5C873275FFB5D7244D66D8CC131F4E9DC1A97CE7989DD6D8CC9319422CB9D7CBDEE9223F666BB9CC1DA751BBBFD6F2BCB5D72C4BCDB18B363E89ADB48C7D02DB7918EA1EC6CB7FD4EBE3C77C911FD6E231D4377F6BFDCDFBA756E8DEFE7BC24FC06928DCF1A]
link(onOutlinePicture,12778802:doSetRegion,[])
AddHint(-104,-37,124,13,@Hint)
}
Add(RGN_SetToWindow,12778802,574,266)
{
@Hint=#20:Применение региона 1|
link(Handle,17866:Var1,[(580,166)])
AddHint(-189,-60,132,13,@Hint)
}
Add(RGN_OutlinePicture,11924821,903,273)
{
@Hint=#20:Контур для региона 2|
Picture=[ZIP2688000078DAED9D3D68535118868FE0E0E4E0E4240E22E2E028AEBAB8A89320B8896EAEE224945068038142A564A943B13450A8D0221D5A2C144BA11602A5422143B1432D040A9152299642CC5B7A21FE24B937F79CF39D9F37F02C1D6EEE79DFE5A4DFC339F71E5E2FAAD3CFED16375ABC68F1A4C53975F5F4EF3F86D53F9F9999A7AA5CBE451C005DECEC7C5603038A3800BA68369BAA5279C43C844107E802341ADFD4E0E005E62204B24707491F6069E90DB31102D9B777018E8F7FAA52E932F3B10C3247F67FF7013636DE3323CB20F3FF7591303E7E873959025977EB02ECEE7E5185C279E66518648CAC7BF501F0BB8499990519A7E9021C1ED6B9FF35BCBF45C669FB002B2BC3CCCE10C8364B17E0E4E4971A19B9C2FC34834C916DD63EC0D6D60766A81964DA4F170913137799A32690659E2E40BDFE95FB5F4DFB5B6499B70F303FFF9299E60419EAE8021C1D35D4D0D045E6DA27C80E19EAEA03ACADBD65B67D82EC74769130367693F966049999E8026C6F7F62C6194166A6FA0053530F98734A9095C92E38DBCD378335C5C2C22B66DE036464A38B64FFCBD96EF719ACEEFD6D2FAAD577CCBE03C8C666170970EA98FF9F2013892E00DDC6CE8EA114D3D38FD9C319C842B20B7070F09DFBDFB3FD2DB290EE836E6367C7508AD8DDC66E8EA1149B9B9568FBC0DA5DEA2266B7318D6328C5DE5E35AAD92ED68A35BBDA07989D7D164D1F58ABCB5DC4E436F6E3184AB1BA5A0ABE0FACD1872E12B77174F45AB05D606DFD3A8652D46A1F83ED036BF3A98B84C9C9FBC1758135F9D845886EA34EC7508A90DC469D8EA114985B168B97BCEF026BB03D833545086EA329C7500A9FDD46938EA1143EBB8DA61D43297C741B6D388652F8E636DA740CA5585C7CED4D1F78D790BBF069B6EBE20C3666B751CA3194C265B751D231940267A9B8DA47DA735E42C3C5736BB29CF3121AAEB98D2E3986522C2F179CE903EF127317C96CD785FD2FDEC1B719AC295C38B726EF392FA121E936BAEC18C6E636FAE0184A3137F7DC7A1FF84E66DFD96DB4796E0DBECB17C73006B7D127C73074B7D147C73064B7D157C730C4D96EC8335853ECEFD78CEC7FF14C3C9B19BBE13686E01886E23686E4184AB1BE5ED6D6079EC54CDD701B43740C7D761B43750CA5C873275FFB5D7244D66D8CC131F4E9DC1A97CE7989DD6D8CC9319422CB9D7CBDEE9223F666BB9CC1DA751BBBFD6F2BCB5D72C4BCDB18B363E89ADB48C7D02DB7918EA1EC6CB7FD4EBE3C77C911FD6E231D4377F6BFDCDFBA756E8DEFE7BC24FC06928DCF1A]
link(onOutlinePicture,14725249:doSetRegion,[])
AddHint(89,-49,124,13,@Hint)
}
Add(RGN_SetToWindow,14725249,966,273)
{
@Hint=#20:Применение региона 2|
link(Handle,14537724:Var3,[(972,166)])
AddHint(26,-25,132,13,@Hint)
}
Add(Hub,2289073,469,322)
{
link(onEvent1,2456481:doOutlinePicture,[(489,328)(489,272)])
link(onEvent2,11924821:doOutlinePicture,[(894,335)(894,279)])
}
Add(Hub,15516328,623,476)
{
InCount=2
OutCount=3
link(onEvent1,3328721:doCollision,[])
link(onEvent2,12108743:In,[(654,489)(654,503)])
link(onEvent3,16740453:In,[(647,496)(647,524)])
}
Add(LineBreak,2665430,532,308)
{
link(Out,12778802:doGetRegion,[(568,314)(568,279)])
Primary=[12108743,133,189]
}
Add(LineBreak,11043970,924,315)
{
link(Out,14725249:doGetRegion,[(960,321)(960,286)])
Primary=[16740453,-259,203]
}
Add(LineBreak,4984068,574,462)
{
link(Out,15516328:doEvent1,[(610,468)(610,482)])
Primary=[9006010,133,-343]
}
Add(LineBreak,8403432,574,490)
{
link(Out,15516328:doEvent2,[(610,496)(610,489)])
Primary=[10392956,315,-371]
}
Add(Hub,13869669,973,476)
{
link(onEvent1,6811877:doOn,[])
link(onEvent2,11595338:doOff,[(1016,489)(1016,517)])
}
Add(Hub,2635980,973,518)
{
link(onEvent1,11595338:doOn,[])
link(onEvent2,6811877:doOff,[(1025,531)(1025,475)])
}
Add(InfoTip,1750162,938,427)
{
Info=#50:Просто некие события - реакция на столкновение или|14:его отсутствие|
Width=281
Height=123
}


Как теперь сделать, чтобы они сталкивались, чтобы не проходили друг через друга насквозь?
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
vip
#1.1контекстная реклама от партнеров
Ответов: 5227
Рейтинг: 586
#2: 2017-09-21 16:12:51 ЛС | профиль | цитата
inter1 писал(а):
классссная штука, но сложноватая для понимания

В HiAsm сложные вещи могут быть простыми (из за интеграции кода в компоненте) либо простые вещи оказываются замысловато сложными, как бы не выглядело это парадоксальным но тем не менее это факт. Можно сказать это издержки визуального программирования.

Если не разбирался ещё со слоями то и этот секс тоже понравится (хотя в Delphi просто используют Anchors)
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 212
Рейтинг: 2
#3: 2017-09-21 16:14:27 ЛС | профиль | цитата
andrestudio, поглядываю иногда на слои с любопытством и... тихим ужасом.

--- Добавлено в 2017-09-21 16:14:59

А! ДА! Еще на менеджеры...

--- Добавлено в 2017-09-21 16:43:08

inter1 писал(а):
Как теперь сделать, чтобы они сталкивались, чтобы не проходили друг через друга насквозь?


Редактировалось 2 раз(а), последний 2017-09-21 16:43:08
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 212
Рейтинг: 2
#4: 2017-09-21 20:09:17 ЛС | профиль | цитата
Некому помочь мне... Один я на всей земле остался со своей проблемой.
Ну да ладно. А вот здесь вопрос: я создаю массив картинок, загружаю туда gif с прозрачным фоном картинки и применяю к региону (создаю контурный регион). Все работает, но...
Если я загружаю gif не из HiAsm, а уже в программе, то прозрачности уже нет и регион получается прямоугольным.
Как правильно загрузить картинку в массив, чтобы применить ее для создания контурного региона? Спасибо.


Add(MainForm,2953706,581,357)
{
Width=458
Position=1
link(onCreate,13689763:doEvent1,[])
}
Add(RGN_SetToWindow,12778802,847,371)
{
@Hint=#18:Применение региона|
link(Handle,7096929:getVar,[])
AddHint(65,-15,123,13,@Hint)
}
Add(LineBreakEx,12190831,504,273)
{
@Color=9342719
Caption="Handle"
Type=3
link(_Data,16469443:Var2,[])
}
Add(LineBreakEx,7096929,847,343)
{
@Color=13948159
Caption="Handle"
Type=2
}
Add(MoveWindow,13591175,462,273)
{
link(Handle,16469443:Var1,[(468,264)])
}
Add(GetDataEx,16469443,504,259)
{
link(Data,14216663:Handle,[])
}
Add(BitmapArray,8785067,651,252)
{
Bitmaps=['Bitmap'=[ZIP3696000078DAED9D4148155114862768D1A65D9B3611B48916ADC2458B16B58C3641AB3611B569D5AE4D2022188209823C104430904430440417224882E042120C310473F14024415C882482BDEFD5D549F439CEBB3373CE9D23FCF0F0E9CCF9CFFFFE7973EF3DE7CEC3272D95A8FED352C3ED1A5ED5F0A2864BD1CDBF6FFC7B3FFE737878E80D6B6BD35E8FA70192390F0D3D8E2A95BBD1CACA78F03AC011AE70961AE3E4E4DBA8B535AA6360E041B4BEFE35483FF4F7DF3FE20967A9B12E2E7E3A8AD381CFCFC6C637F53AC0012E27F9C15972CC27E3056D6D97A3D1D1E7D1F6F64F753A10F3C8C8B33A87D3B849FEACEDEFEF9E1A735C97F1F1D7D1CE4E55850EC47A960E0E7096CCA3BBFB46C3F8417BFB95FA75776F6F5B5CFCC4446CC4781E0FB84AFF5C9D768D6DA4CBF4F47B119F31622096243AC4BF1BA5EB3135F52E311F87CECE6BD1DCDCC7E8E0E077EEF1724ECE4D0C178D1BAED2F5585AFA7C615E0E5D5DD7A38585FEDC62E55C9C336DBC7095AEC7E6E6F7D4FC1C7A7A6E65CA9563738E66E384AB743DF0FF79F72449E17BACEFC6D43E62836311D7D734E8EDBDE385B303E3E166E6894E8EA97D008E5AC6508C9F7C724F3BD63F6B4CED03C3C34FD5E83133D396490E1CD0BBD1B59BF7B2FA4C38C051D3DC6796B970D7EFB1B197FFCDC1F09ADFF9FAFE6A84E5E52FAAE67CB2CE477C4C3931F1A68E8B8CE59AC5D6D60F55F37079E6266FC04DDBBCA8AFFB4A89809B363D985F0F550FB869D38339A150F5809B363D56572783D5036EDAF460CD29543D34AE73867A8FA5F1DECAC1F79C9104C049AB1E8C95EDDE4A0EE6E77BEDDE4A58ED58687A68AE89A55623343D34D42A35429A3A01A9E8E8B8AABECE923ADE50F4808B763D98070F450FEA15B5EB414D4D287AE4598B9415AAD5F960F408A17F22A47B2C89F5C6655E07D13C36A7562CEB1A8F2200272D7570712DB2AA7B9200B869D124742D3469420F4519B4886B22B53F8AB8425CEF48B21E224D93B26A215193B26B214913C6477D7DF74AAF8503B9286ACCC8797DF77984007292B726A6851C4D76777F99160935215759F71124E9F7371CEF179055ED9C69214713D3428E26F4E235D3336F38DEEBA0D97E75FE3FA4FA90A2412ED36A625AC8D184BE6DD3225B4D92F6D1B3661F722FA6A4BE85F3EA234C0B399A98167234A11FCEB4285613D793C8DE16A6850C4DD0025DE831A1CE7670F0918DC3731EB79373728F0667F5ED5237C13D327BA6F077D411B3FE65E3F474E37272470EC9253925B7BE6A535893E4DE99E3B2E7103D8265D7CAE59C5C901372438E24ACDF523FCDFE84C4457D2571D2C712422F0E5CE0043738C2556B4DAFD38AFDCED9E796BA4BF66591A415B1101339274662D59CF366D61C8BECC5E5DC59AFE5694411EBC09AF6A5CC1B7C0FE6AD87A67DF742F78879439647CC1B723C62DE90D5932BF9394312E163BFFB46FBF55B8EE57824843E72A9CF3E4A33A76AB995E311F3861C8F98376479C4BCE1A77FDAC7DA0AC7B07CCAD9879163582E657884FFD5B6C745C81E316FC8F18879439647CC1B723C62DEC81EB3B31F4AB197B41650D394A43785BF91FE6CF25090E4F9869A9E0F18BA47CC1BB23C62DE90E311F3862C8F98378AAD098EF712F1BA6CB5B6D240DDB3D383D79613191E316FC8F2887943964742F1C61FA0BC6CD1]]
Point(doSave)
Point(doLoad)
Point(FileName)
}
Add(ArrayRW,3139041,707,371)
{
link(onRead,13592940:doEvent1,[])
link(Array,8785067:Array,[(693,298)(657,298)])
link(Index,7937806:Text,[])
link(Value,16363351:Var,[])
}
Add(Hub,13592940,749,371)
{
link(onEvent1,4706253:doPicture,[(776,363)(784,363)(784,384)])
link(onEvent2,4706253:doOutlinePicture,[(773,384)(773,377)])
}
Add(RGN_OutlinePicture,4706253,798,371)
{
Point(doPicture)
link(onOutlinePicture,12778802:doSetRegion,[])
}
Add(Button,2029481,602,112)
{
@Color=13948159
Left=70
Top=26
Width=77
Caption="Обзор"
link(onClick,4545254:doExecute,[])
}
Add(ODialog,4545254,658,112)
{
link(onExecute,14300872:doEvent1,[])
}
Add(Img_Loader,15062526,728,112)
{
link(onLoad,8248893:doEvent1,[])
}
Add(Hub,14300872,700,112)
{
link(onEvent1,15062526:doLoad,[])
}
Add(Edit,7937806,714,252)
{
Left=976
Top=32
Text="0"
}
Add(Image,16247463,861,91)
{
Left=63
Top=75
Width=91
Height=82
}
Add(Hub,8248893,784,112)
{
OutCount=3
link(onEvent1,16247463:doLoad,[(844,118)(844,97)])
link(onEvent2,2931855:In,[(812,125)(812,132)])
link(onEvent3,14313496:In,[(805,132)(805,153)])
}
Add(LineBreak,11547164,651,406)
{
link(Out,3139041:doWrite,[(694,412)(694,384)])
Primary=[2931855,175,-280]
}
Add(Hub,13689763,623,371)
{
InCount=2
link(onEvent1,3139041:doRead,[])
}
Add(LineBreak,4558468,581,406)
{
link(Out,13689763:doEvent2,[(617,412)(617,384)])
Primary=[14313496,245,-259]
}
Add(LineBreak,591609,728,161)
{
Type=1
link(Data,15062526:Bitmap,[])
Primary=[16363351,-7,182]
}
Add(Image,14216663,497,217)
{
@Hint=#26:Отрисовка региона (Регион)|
Left=192
Top=29
Width=154
Height=156
Color=-16777213
Point(Handle)
Point(onMove)
Point(onDblClick)
link(onClick,13591175:doMove,[(537,223)(537,258)(456,258)(456,279)])
AddHint(-199,-85,159,13,@Hint)
}
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 212
Рейтинг: 2
#5: 2017-09-22 16:59:13 ЛС | профиль | цитата
А?
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Разработчик
Ответов: 26061
Рейтинг: 2120
#6: 2017-09-22 18:47:49 ЛС | профиль | цитата
inter1, объясни подробнее -- зачем тебе регионы, что ты конкретно хочешь получить на выходе?
карма: 22

0
Ответов: 212
Рейтинг: 2
#7: 2017-09-22 20:41:12 ЛС | профиль | цитата
nesco писал(а):
inter1, объясни подробнее -- зачем тебе регионы, что ты конкретно хочешь получить на выходе?

В общем, что-то типа графического редактора, но рисовать не художественными средствами, а готовыми блоками. Конструктор. Можно "рисовать" что угодно - просто строительный квест, план дома, что угодно.
Как-то так...
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 2059
Рейтинг: 131
#8: 2017-09-22 20:48:42 ЛС | профиль | цитата
inter1 писал(а):
...

- три бочки арестантов.
На самом деле получается несколько вопросов и мало чем связанных.
Может в твоей задаче они связанны, но по сути это отдельные вопросы.
Чем писать статью о том как всё тяжело даётся, лучше упорядочить возникшие вопросы.
1, То-то то-то...
2.
inter1 писал(а):
Если я загружаю gif не из HiAsm, а уже в программе, то прозрачности уже нет

В свободном переводе на русский - Как сделать картинку с альфа-каналом?

Add(MainForm,1065314,182,112)
{
Width=558
Height=341
}
Add(ODialog,1561105,245,63)
{
Filter="(*.bmp)|*.bmp|(*.png)|*.png|(*,ico)|*.ico|(*.*)|*.*"
Select=1
link(onExecute,8858747:doLoad,[])
}
Add(AlphaImage,8165564,406,63)
{
Left=10
Top=10
Width=256
Height=256
Color=0
}
Add(AlphaImage,815084,539,161)
{
Left=275
Top=10
Width=256
Height=256
Color=0
}
Add(Button,5934433,182,63)
{
Left=210
Top=275
TabOrder=-1
Caption="Load"
link(onClick,1561105:doExecute,[])
}
Add(Img_Loader,8858747,301,63)
{
link(onLoad,11250079:doEvent1,[])
}
Add(Hub,11250079,357,63)
{
OutCount=3
link(onEvent1,8165564:doLoad,[])
link(onEvent2,4290423:doData,[(396,76)(396,146)])
link(onEvent3,1912327:doAlphaBitmap,[(389,83)(389,181)])
}
Add(PNG,1912327,476,154)
{
Transparent=0
Point(doLoadFromBitmap)
Point(doAlphaBitmap)
Point(onAlphaBitmap)
link(onAlphaBitmap,815084:doLoad,[])
}
Add(Button,4588613,399,224)
{
Left=275
Top=275
TabOrder=-1
Caption="Save"
link(onClick,8602752:doExecute,[])
}
Add(DoData,4290423,406,140)
{
link(onEventData,1912327:doLoadFromBitmap,[(466,146)(466,174)])
link(Data,8165564:ImageBitmap,[])
}
Add(SDialog,8602752,476,224)
{
Filter="BMP Files (*.bmp)|*.bmp"
link(onExecute,11971268:doSave,[])
}
Add(PictureStream,11971268,532,217)
{
link(Bitmap,815084:ImageBitmap,[])
}

3....

Редактировалось 1 раз(а), последний 2017-09-22 20:49:25
карма: 6

0
Ответов: 212
Рейтинг: 2
#9: 2017-09-22 20:58:24 ЛС | профиль | цитата
nesco писал(а):
inter1, объясни подробнее -- зачем тебе регионы, что ты конкретно хочешь получить на выходе?

Вот то, что получилось сейчас (Гугл-диск):
https://drive.google.com/open?id=0B3YGHxI3jRuQZy0xWVV6aVlmX2s

flint2 писал(а):

inter1 писал(а):
...

- три бочки арестантов.
Чем писать статью о том как всё тяжело даётся, лучше упорядочить возникшие вопросы.

Сам не знаю зачем пустился в эти рассуждения, видно накипь счищал с души. Исправлюсь, постараюсь быть более обезличенным.
В любом случае, спасибо за уделенное время.
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 2059
Рейтинг: 131
#10: 2017-09-22 21:37:01 ЛС | профиль | цитата
Так что-ли?
https://yadi.sk/d/_wscG-aP3N9h3T
1. Перетащить qwerty1.png в левое окно.
2. Перетащить Test.bmp или трубы.png на левое окно.( для трубы.png установить цвет прозрачности "белый").
3. нажать верхнюю кнопку.
4. ....
-------------------------------------------------------------
Вариант с фиксацией одной картинки над другой.

Add(MainForm,2953706,21,112)
{
Width=1034
Height=576
link(onCreate,2384319:doEvent1,[])
}
Add(Img_UseOffset,9173318,490,364)
{
link(X,929447:Var2,[])
link(Y,14804783:Var1,[(510,331)])
}
Add(Math,401840,497,231)
{
OpType=1
link(onResult,8830839:doOperation,[])
link(Op1,5461144:Var2,[])
link(Op2,12308577:Value,[])
}
Add(Math,8830839,560,231)
{
OpType=1
link(onResult,7746369:doWork3,[(603,237)(603,220)(466,220)])
link(Op1,16058240:Var2,[])
link(Op2,971548:Value,[])
}
Add(Hub,12605675,427,231)
{
OutCount=3
link(onEvent1,401840:doOperation,[])
link(onEvent2,8365796:doOperation,[(469,244)(469,286)])
link(onEvent3,9192040:doWork3,[(459,251)])
}
Add(Memory,12308577,504,182)
{
Point(Data)
link(onData,971548:doValue,[])
link(Data,5461144:Var3,[(510,173)])
}
Add(Memory,971548,567,182)
{
Point(Data)
link(Data,16058240:Var3,[(573,167)])
}
Add(IndexToChanel,12858463,385,231)
{
Count=1
link(onEvent1,12605675:doEvent1,[])
}
Add(IndexToChanel,1721923,385,182)
{
Count=1
link(onEvent1,7746369:doWork2,[])
}
Add(Math,8365796,497,280)
{
link(onResult,11032244:doOperation,[])
link(Op1,401840:Result,[])
link(Op2,929447:Var3,[(510,268)(535,268)(535,320)])
}
Add(Math,11032244,560,280)
{
link(Op1,8830839:Result,[])
link(Op2,14804783:Var3,[(573,268)(597,268)(597,331)])
}
Add(GetDataEx,929447,497,315)
{
link(Data,8365796:Result,[])
}
Add(GetDataEx,14804783,560,326)
{
link(Data,11032244:Result,[])
}
Add(HubEx,7746369,462,182)
{
link(onEvent,12308577:doValue,[])
}
Add(LineBreak,5498705,182,441)
{
Caption="draw"
link(Out,16281143:doWork2,[])
Primary=[8191459,399,-378]
}
Add(LineBreak,7614425,294,182)
{
Caption="mDown"
link(Out,1721923:doEvent,[])
Primary=[6291807,245,-112]
}
Add(LineBreak,12410881,294,231)
{
Caption="mMove"
link(Out,12858463:doEvent,[])
Primary=[4054620,294,-154]
}
Add(GetDataEx,16058240,560,162)
{
Angle=3
link(Data,14764420:Var3,[(503,167)])
}
Add(GetDataEx,5461144,497,168)
{
Angle=3
link(Data,14764420:Var2,[(496,173)])
}
Add(Bitmap,15551347,336,294)
{
Point(Width)
Point(Height)
}
Add(Img_Bmp,44008,329,469)
{
Point(Transform)
link(Bitmap,1203007:Var1,[(335,383)])
link(SourceBitmap,15551347:Bitmap,[])
}
Add(Hub,7720924,280,441)
{
link(onEvent1,44008:doDraw,[(312,447)(312,475)])
link(onEvent2,14906280:doDraw,[(318,454)(318,650)])
}
Add(Img_AlphaBmp,14906280,329,644)
{
AlphaMode=1
Point(Transform)
Point(doAlphaMode)
Point(doAlphaBlendValue)
link(Bitmap,1203007:Var2,[(335,498)(391,498)])
link(AlphaBitmap,6436668:Result,[(342,628)(538,628)])
link(Transform,9173318:Transform,[(349,517)(496,517)])
}
Add(GetDataEx,1203007,385,378)
{
Angle=1
link(Data,3048014:Var2,[(489,383)])
}
Add(DropFile,706348,385,581)
{
Point(doAccept)
link(onDropFile,12787684:doLoad,[])
}
Add(Img_Loader,12787684,441,581)
{
link(onLoad,14806291:doEvent1,[(485,587)(485,447)(233,447)(233,307)])
}
Add(AlphaShadow,6436668,532,581)
{
@Hint=#43:Конвертирует обычную картинку в BMP pf32Bit|
TransparentColor=0
DeepBlur=0
Point(Result)
Point(TransparentColor)
Point(DeepBlur)
Point(AlphaValue)
link(Bitmap,7025966:Var1,[(538,439)(755,439)])
link(TransparentColor,7025966:Var2,[(545,432)(762,432)])
}
Add(HubEx,13839944,455,126)
{
link(onEvent,14764420:doWork1,[(472,132)(472,69)])
}
Add(Hub,10494482,273,644)
{
OutCount=3
link(onEvent1,14906280:doAlphaBlendValue,[(308,650)(308,664)])
link(onEvent2,13190336:doWork3,[(299,657)])
link(onEvent3,61990:doWork2,[])
}
Add(HubEx,16281143,259,441)
{
link(onEvent,7720924:doEvent1,[])
}
Add(HubEx,9192040,455,147)
{
Angle=3
link(onEvent,13839944:doWork3,[])
}
Add(Hub,2384319,161,126)
{
link(onEvent1,16058605:doWork,[])
link(onEvent2,8554051:doWork,[(193,139)(193,146)])
}
Add(LineBreakEx,16058605,210,126)
{
}
Add(LineBreakEx,3515928,406,126)
{
Type=1
link(OnEvent,13839944:doWork2,[])
}
Add(LineBreakEx,8554051,210,140)
{
Caption="rrr"
}
Add(LineBreakEx,3620541,686,245)
{
Caption="rrr"
Type=1
link(OnEvent,7025966:doWork1,[])
}
Add(ChildScrollBox,14764420,483,63)
{
link(onEvent1,8191459:In,[])
link(onEvent2,6291807:In,[])
link(onEvent3,4054620:In,[])
}
BEGIN_SDK
Add(EditMulti,16712278,21,21)
{
EventCount=3
WorkCount=4
VarCount=3
link(doWork1,7615528:doRefresh,[(84,27)(84,62)])
link(doWork3,7615528:doWidth,[(84,41)(84,76)])
link(doWork4,7615528:doHeight,[(84,48)(84,83)])
link(Var1,7615528:Bitmap,[(27,155)(153,155)])
link(Var2,7615528:MouseX,[(34,155)(160,155)])
link(Var3,7615528:MouseY,[(41,155)(167,155)])
}
Add(ScrollBox,4827429,35,105)
{
Width=745
Height=549
Align=5
Color=4012084
Point(Width)
Point(Height)
Point(WidthControls)
Point(HeightControls)
}
Add(PaintBox,7615528,147,56)
{
Width=748
Height=526
Color=4012084
Point(onMouseDown)
Point(onMouseMove)
Point(MouseX)
Point(MouseY)
Point(Handle)
Point(onMouseUp)
Point(doWidth)
Point(doHeight)
link(onBeforeDraw,16712278:onEvent1,[(250,62)(250,27)])
link(onMouseDown,16712278:onEvent2,[(250,69)(250,34)])
link(onMouseMove,16712278:onEvent3,[(250,76)(250,41)])
}
END_SDK
Add(DoData,4982712,399,350)
{
link(onEventData,14764420:doWork3,[(439,356)(439,83)])
link(Data,15551347:Width,[(405,341)(349,341)])
}
Add(DoData,15905208,406,406)
{
link(onEventData,14764420:doWork4,[(460,412)(460,90)])
link(Data,15551347:Height,[(412,366)(356,366)])
}
Add(Hub,14806291,245,301)
{
OutCount=3
link(onEvent1,14342586:doWork2,[(297,307)(297,300)])
link(onEvent2,4982712:doData,[(329,314)(329,356)])
link(onEvent3,15905208:doData,[(333,321)(333,412)])
}
Add(ChildPanel,7025966,749,245)
{
link(onEvent1,10494482:doEvent1,[(787,251)(787,521)(244,521)(244,650)])
link(onEvent2,13049044:doEvent1,[(793,258)(793,412)(471,412)(471,566)])
link(onEvent3,9459707:doEvent1,[(793,265)(793,471)(261,471)(261,678)])
link(onEvent4,6077066:doData,[(793,272)(793,265)(233,265)(233,258)])
}
BEGIN_SDK
Add(EditMulti,8848567,21,21)
{
EventCount=4
WorkCount=1
VarCount=2
Width=671
Height=319
link(doWork1,4126158:doClear,[])
link(Var1,8690294:Var1,[(27,207)(181,207)])
link(Var2,13121695:Value,[(34,319)(538,319)])
}
Add(Panel,10760258,35,105)
{
Left=745
Width=281
Height=549
Align=3
Color=4012084
}
Add(ChildPanelEx,4126158,519,21)
{
link(onEvent2,8848567:onEvent1,[])
}
BEGIN_SDK
Add(EditMultiEx,12922120,21,21)
{
WorkCount=#7:doClear|
EventCount=#8:onEvent2|
Width=580
Height=347
link(doClear,3437683:doClear,[(112,27)(112,216)])
}
Add(Panel,16341309,98,63)
{
Left=8
Top=24
Width=247
Height=19
Color=4012084
BorderWidth=0
BevelInner=0
BevelWidth=0
}
Add(Bitmap,1998621,161,63)
{
Picture=[ZIPEA2D000078DAED9AED52DA4014864F2FA07FAA8804F249BE09910F2541052C6AB1D54E6BDB4BED0DF56FAFA2E71CB38888180582D359669ED9DD6443327BF2F29EDD65FCF56F13F8D3437CE40FF21E7907061FFF9D9D9FFD0CFA87709A76E124E9C0E47C085F2EC7F0FDFA0A6E6F3E333F6E2E252B707B7DC13C75FED73388EB9F22EFFD053F33646C8A81B4447CFB32613D91BE3E7D1CC249AF0BC3E49021ED0D8F8FE07A3286D1490F7AED185A0D1F9ABE0371E0421C06923573D0080BBB5724C77BBBB10E3D86B58490BE46C709DC4C2E60941E31A7A8C3C97804DDB891F50F9816BE27F4AE88B6E4756C3EC68DE5883822AD8C8307D74B0A8D7FC3633ACD10AECECF3807BD189D623B9AEA2EE976D01B7BE88D7DCC535318F67B921518E0EFDC204DB09EBE92CD3E9B8CD1A649D1F7FA5CD27B9074DAE8873EFB5D3B0AE0F26C00C749179AE15DCE79D46E4113CF7B750BEABA068E69405DB212CE1B41C662BBF1772D9375C53AEBC4EC8551E0B0FEA61E183520F2BD37F3CEFC2FB83975F0E2EF364CC6B6ACDCC8786C21FEA83D51DA86CE75D299C84DDB7108A1634FDBE47D84E85F9763B83E1FB2B45C58A60A3681E3FF1C16C7C87C84398338C69A9571D84AFE31AB478E9BA64E3517A0FE3C3C2ED6EAD4CA3E58AAC6FDA8BF95E956B21E1F7466B4E664CCB799D96B33BFCBCB224D2ED2A03BFF6C928D7AA1F040D29FAE5478EDA5897E48F929F960E83A773EA8E9502BEF639F2A986A0D8C5A15742C25ABA066D440D51EA3E92A43F5C5D7E543CD43764F1993E23050735AA6A31A6A8F7C8EF4487A23DD11B436435ED8F05C5E8F211FAC96F7607F7707CA3B1FA05CDA95AC44E901A505EDD282E3F72CFFFE3D8CD34B90F1281631E6A2246F239D89B59783C8E3FD41D7BC9B039226E93C413A15A564CD04E13D0BF7FC025EBF8EB358CC12CF21F680E711FB5045ED534A9EDEBF155AA2F91EEB0FFD8EE601B65EE3FFCB1069B7C5EB00947B8A35549A2BFA769DCB657892A5B83886FE36714C869E839031291A675AB7695E88989A0275A306C9618B3D90A0BD5AD222FD6E52AE4A5AA4BC55AF2AA0610E2B593FFA1C8FFA54CB8CAAEC3D40AB6428254657CA4B31A77539E65BA1A230A42582D6DC683F9EF436C8FEA7F60F8F1154B8]
}
Add(Img_Bmp,10942625,154,140)
{
Y=3
link(onDraw,7905735:doDraw,[])
link(Bitmap,5176727:Var2,[])
link(SourceBitmap,1998621:Bitmap,[])
}
Add(Bitmap,8230119,259,63)
{
Picture=[ZIPE202000078DA4D8FCB6ED350144517CC18330404499AF811FBDABE7EC48FD8719C579334818A415BA9128F015FC757F10740DC4E397111E24A4BE7ECBDCFB9BE6E0E3F9ED39D44308517C24BE119EF3AFFFBDFFCFF93450199F648FC8044BB248122F65DB2D061A203F238427B63EC611FF362C0A8DF6334788B317C8339E8631B03423566609858A68339F619381E86EDD1771C0CD1434B615B432C57313C67674F30DD270C5B77D5729E303DCD48294C1563A800DB8D19390196F2187A5EA74D3791AA192B41F479CFF6656E1C8997E006920751E73D31C10D359627B964AE788ECEA4A678F28F6DDBE28529A7DF2D76749E495181E4618E13A7F851C6ABDE084FE7BCEEF551518112FF8C9764E8498E9F949C4E27A9050F8F2D6E3CEDFA50D0E94C288984DE85F9AFFAC99C302F0926153A6B88F34258F0EBD492E4331EDA477431232E6A22C993E982B86A48AB153DCBEA74DFB089CB2549B1EC6A365B7779566DF8F9D03299AE38C97B12F1D259435E6F3AA6CDA69BB16CD569D31ECBEE8EAC5933A99754F32D69B3A56CF664F5967C213BF59EE97C472E148B1DF395F48B2B2AA15C1E28D63BCAB9E8D525E5EA8A7ABD67F7E13DD5662FFD817A29F76D8ECC64B6123D152E8F1FE55B2B0EB79FB9BEFDC2F5DD370E779F38DE487FF355FC7B4A79CF1F9F388230]
}
Add(Img_Rectangle,7905735,203,140)
{
Point1=327792
PatternStyle=0
Style=1
Size=0
Color=4012084
BgColor=3372543
Point(Point2)
Point(Pattern)
link(onDraw,7000936:doDraw,[])
link(Bitmap,6645456:Var2,[])
link(Point2,3272639:Point,[])
link(Pattern,11792239:Var,[])
}
Add(PointXY,3272639,217,63)
{
X=3
Y=13
link(X,3198790:Var,[])
}
Add(MathParse,9111931,252,203)
{
@Hint=#7:Рассчет|18:положения ползунка|
MathStr="(%1>4.5)*\r\n(%1-4.5)*\r\n(%1<=(%2-9))+\r\n((%1>(%2-9))*(%2-9))"
link(onResult,2533668:doCalc,[])
link(X2,10521883:Var2,[])
AddHint(11,105,106,26,@Hint)
AddHint(-114,81,94,52,MathStr)
}
Add(GetDataEx,5176727,154,112)
{
Angle=3
link(Data,3929154:Bitmap,[(83,117)(83,180)(104,180)])
}
Add(Img_Bmp,7000936,252,140)
{
Point(X)
link(Bitmap,6645456:Var3,[(258,117)])
link(SourceBitmap,8230119:Bitmap,[])
link(X,9111931:Result,[(272,131)(293,131)(293,243)(258,243)])
}
Add(GetDataEx,6645456,203,112)
{
Angle=3
link(Data,5176727:Var3,[])
}
Add(Memory,14325632,329,140)
{
@Hint=#3:Max|
Default=Integer(255)
MakeExt(Default,Максимальное значение,Max)
AddHint(51,-1,35,13,@Hint)
AddHint(50,21,33,13,Default)
}
Add(MathParse,2533668,308,203)
{
@Hint=#9:Рассчет и|14:выдача позиции|
DataCount=4
MathStr="round(%1*((%4-%3)/(%2-9)))+%3"
link(onResult,14706778:doEvent1,[])
link(X2,10521883:Var3,[(321,184)])
link(X3,9411686:Value,[])
link(X4,14325632:Value,[])
AddHint(68,87,163,13,MathStr)
AddHint(69,48,82,26,@Hint)
}
Add(Hub,14706778,350,203)
{
link(onEvent1,8717214:doCalc,[])
link(onEvent2,4537720:doEvent1,[(410,216)(410,62)])
}
Add(LineBreak,2473754,35,140)
{
Caption="drw"
link(Out,3929154:doRefresh,[])
Primary=[16291547,497,63]
}
Add(GetDataEx,10521883,259,179)
{
Angle=3
link(Data,3929154:Width,[(118,184)])
}
Add(LineBreak,14523816,203,252)
{
Caption="X"
Type=1
link(Data,3437683:Value,[])
Primary=[3198790,14,-217]
}
Add(Memory,9411686,322,98)
{
@Hint=#3:Min|
Default=Integer(0)
MakeExt(Default,,Min)
AddHint(60,-3,32,13,@Hint)
AddHint(59,19,21,13,Default)
}
Add(IndexToChanel,5375639,147,203)
{
link(onEvent1,3437683:doValue,[])
}
Add(Memory,3437683,203,203)
{
Default=Integer(115)
Point(Data)
link(onData,9111931:doCalc,[])
link(Data,3929154:MouseX,[(209,194)(111,194)])
}
Add(ArrayRW,10738487,434,203)
{
link(onRead,11135753:doValue,[])
link(Array,913459:Array,[])
}
Add(MathParse,8717214,385,203)
{
MathStr="(%1<127)"
link(onResult,10738487:doRead,[])
}
Add(PaintBox,3929154,98,140)
{
Width=225
Height=19
Color=4012084
ClearBeforeDraw=0
Point(MouseX)
Point(Width)
Point(doColor)
Point(onMouseMove)
Point(onMouseDown)
link(onBeforeDraw,10942625:doDraw,[])
link(onMouseMove,15619329:doEvent1,[(142,153)(142,199)(100,199)(100,244)])
link(onMouseDown,15619329:doEvent2,[(142,160)(142,206)(100,206)(100,251)])
}
Add(LineBreak,13313920,483,245)
{
Caption="img"
Type=1
link(Data,11135753:Value,[])
Primary=[11792239,-259,-147]
}
Add(Memory,11135753,483,203)
{
link(onData,16291547:In,[])
}
Add(Hub,15619329,112,238)
{
InCount=2
OutCount=1
link(onEvent1,5375639:doEvent,[(136,244)(136,209)])
}
Add(Label,3061404,490,56)
{
Left=227
Width=11
Height=20
Color=4012084
Font=[MS Sans Serif,10,0,16777215,1]
Caption="0"
}
Add(Hub,4537720,455,56)
{
link(onEvent1,3061404:doText,[])
link(onEvent2,12922120:onEvent2,[(535,69)(535,27)])
}
Add(BitmapArray,913459,434,154)
{
Bitmaps=['Bitmap'=[ZIP4E00000078DA73F2F56380003320D6006246206603D30A607109064CC031E11D03C7EC8F0CDC8B3E3170ADF9C2C0BBED0B83C0C51F0C00DEF50B6F],'Bitmap'=[ZIP4E00000078DA73F2F56380003320D6006246206603D31260711079840F8261E0BF2BC3FFFF1940DC03C4EB80F802107F65F80F005F8012B8]]
}
END_SDK
Add(DropFile,15132741,154,119)
{
Point(doAccept)
link(onDropFile,15717394:doEvent1,[])
}
Add(Img_Loader,9373099,238,119)
{
Point(doSize)
link(onLoad,8690294:doWork2,[(282,125)(282,90)(163,90)(163,55)])
}
Add(ChildForm,8690294,175,42)
{
}
BEGIN_SDK
Add(EditMulti,12247663,21,21)
{
EventCount=1
WorkCount=3
DataCount=1
VarCount=3
link(doWork1,3126037:doVisible,[(28,27)(28,139)])
link(doWork2,1181906:doLoad,[(81,34)(81,104)])
link(doWork3,3126037:doColor,[(28,41)(28,146)])
link(Var1,1181906:ImageBitmap,[(27,172)(146,172)])
link(Var2,1181906:MouseX,[(34,172)(167,172)])
link(Var3,1181906:MouseY,[(41,172)(174,172)])
}
Add(MainForm,3126037,35,105)
{
Left=35
Top=105
Color=16777215
Visible=1
Caption="ytutyut"
BorderStyle=5
Point(doVisible)
Point(doColor)
}
Add(Image,1181906,140,98)
{
Left=140
Top=90
Align=5
Color=0
AutoSize=0
ViewStyle=1
Point(Width)
Point(Height)
Point(onResize)
Point(MouseX)
Point(MouseY)
Point(doColor)
link(Bitmap,12247663:Data1,[(146,60)(27,60)])
link(onResize,12247663:onEvent1,[(246,111)(246,27)])
}
END_SDK
Add(Hub,15717394,203,119)
{
OutCount=3
link(onEvent1,9373099:doLoad,[])
link(onEvent2,9373099:doSize,[])
link(onEvent3,8690294:doWork1,[(229,139)(229,93)(163,93)(163,48)])
}
Add(Button,10407628,553,119)
{
Left=20
Top=65
Width=110
Caption="Применить рисунок"
link(onClick,4973639:doWork2,[])
}
Add(Button,6087343,553,168)
{
Left=20
Top=125
Width=90
Caption="Проэрачьность"
link(onClick,4882749:doSwitch,[])
}
Add(Switch,4882749,623,168)
{
DataOn=Integer(-1)
DataOff=Integer(0)
link(onSwitch,8848567:onEvent3,[(673,174)(673,41)])
}
Add(ColorDialog,15722096,441,245)
{
link(onSelect,3031014:doEvent1,[])
link(Color,3282105:Value,[])
}
Add(BitBtn,9332478,357,196)
{
Left=20
Top=95
Width=115
Caption="Цвет прозрачности"
Point(doColor)
link(onClick,1305051:doEvent1,[])
}
Add(Hub,3031014,490,245)
{
OutCount=3
link(onEvent1,9332478:doColor,[(516,251)(516,230)(345,230)(345,209)])
link(onEvent2,13121695:doValue,[])
link(onEvent3,8690294:doWork3,[(516,265)(516,163)(163,163)(163,62)])
}
Add(Memory,13121695,532,252)
{
}
Add(Hub,1305051,399,196)
{
link(onEvent1,15722096:doOpen,[(434,202)(434,251)])
link(onEvent2,4973639:doWork3,[(413,209)(613,209)])
}
Add(HubEx,4973639,609,119)
{
link(onEvent,8848567:onEvent2,[(639,125)(639,34)])
}
Add(Memory,3282105,441,119)
{
Default=Integer(-1)
}
Add(Button,15949109,553,70)
{
Left=20
Top=155
Caption="OK"
link(onClick,8848567:onEvent4,[(639,76)(639,48)])
}
END_SDK
Add(Hub,9459707,273,672)
{
OutCount=3
link(onEvent1,14906280:doAlphaMode,[(308,678)(308,657)])
link(onEvent2,13190336:doWork2,[(291,685)(291,580)])
link(onEvent3,61990:doWork3,[(319,692)])
}
Add(HubEx,61990,315,658)
{
link(onEvent,4959708:doWork3,[(371,664)])
}
Add(HubEx,13190336,295,574)
{
Angle=3
link(onEvent,16281143:doWork3,[(299,553)(263,553)])
}
Add(Hub,13049044,483,560)
{
link(onEvent1,6436668:doShadow,[(508,566)(508,587)])
link(onEvent2,4959708:doWork1,[(509,573)(509,559)])
}
Add(HubEx,4959708,367,553)
{
Angle=3
link(onEvent,9192040:doWork2,[(371,153)])
}
Add(DoData,6077066,245,252)
{
link(onEventData,14342586:doWork1,[(312,258)])
link(Data,3048014:Var1,[(251,145)])
}
Add(HubEx,14342586,308,294)
{
link(onEvent,15551347:doLoad,[])
}
Add(GetDataEx,3048014,483,140)
{
link(Data,14764420:Var1,[])
}



Редактировалось 1 раз(а), последний 2017-09-22 21:48:27
карма: 6

0
Ответов: 212
Рейтинг: 2
#11: 2017-09-22 21:48:49 ЛС | профиль | цитата
flint2 писал(а):
Так что-ли?
https://yadi.sk/d/_wscG-aP3N9h3T
1. Перетащить qwerty1.png в левое окно.
2. Перетащить Test.bmp или трубы.png на левое окно.( для трубы.png установить цвет прозрачности "белый").
3. нажать верхнюю кнопку.
4. ....


Это очень красиво, что сказать. Я сегодня рассматривал твой пример в немного более ранней редакции (есть на форуме). Талант.
Но я не это имел ввиду. Я имел ввиду другое: я создаю КОНТУРНЫЙ РЕГИОН, по контуру рисунка (gif, например). Это все работает, но только в том случае, если рисунок в массив предустановить изначально. Если же загрузить этот рисунок в массив из интерфейса моей программы, то рисунок становится просто прямоугольным - прозрачность фона заполняется белым. Соответственно, регион получается просто прямоугольным.
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 2059
Рейтинг: 131
#12: 2017-09-22 21:57:14 ЛС | профиль | цитата
Ну я тебе и показал.
....
Перетащить трубы.png на левое окно. Получится белый прямоугольник с рисунком.
Установить белый цвет прозрачности и нажать кнопку "Прозрачность". - останется контурный рисунок!
карма: 6

0
Ответов: 212
Рейтинг: 2
#13: 2017-09-22 22:03:38 ЛС | профиль | цитата
flint2 писал(а):
Ну я тебе и показал.
....
Перетащить трубы.png на левое окно. Получится белый прямоугольник с рисунком.
Установить белый цвет прозрачности и нажать кнопку "Прозрачность". - останется контурный рисунок!

Ух ты, а я не сообразил. Спасибо, flint2.

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

flint2, а проект этот закончен уже? что в итоге получилось?

Редактировалось 1 раз(а), последний 2017-09-22 22:07:23
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Ответов: 2193
Рейтинг: 673
#14: 2017-09-22 22:14:54 ЛС | профиль | цитата
inter1, могу ответить на многие вопросы по поводу регионов. Есть тема: Регионы, в ней есть и примеры. Примеры есть и в папку HiAsm Windows\Example\Forms\Regions.
inter1 писал(а):
Как правильно загрузить картинку в массив, чтобы применить ее для создания контурного региона?
В вашей схеме не создается регион по контуру так как выставлено свойство ModeTransparent = TranspColor у элемента RGN_OutlinePicture (Контурный регион). А это значит что регионом будет все кроме цвета заданного в свойств Transparent. У вас выставлен белый цвет. Есть в ваших картинках которые вы загружаете белый цвет или нет, мне не известно. Можете выставить свойство ModeTransparent = ZeroPixel, тогда регионом станет все кроме цвета который в верхнем левом углу (позиция 0,0).
inter1 писал(а):
Как теперь сделать, чтобы они сталкивались, чтобы не проходили друг через друга насквозь?
Как по мне так отказаться от MoveWindows, может и получится с ним, но не советую. Двигайте элемент используя onMoveMouse и если коллизия, то не двигайте.

Есть такая игра: Игра пазл (пентамино) можете в ней подсмотреть. Как раз то что вам нужно.

Редактировалось 1 раз(а), последний 2017-09-22 22:20:00
карма: 10

0
Ответов: 212
Рейтинг: 2
#15: 2017-09-22 22:27:04 ЛС | профиль | цитата
sla8a, огромное спасибо! Буду изучать. Примеры в папке Экземпл я видел, сейчас "копаюсь" в одном из них.
Тему указанную еще раз изучу (бывал там). остальные замечания принял, благодарю. В общем, вроде бы есть теперь зацепки, работаем дальше. Спасибо!

--- Добавлено в 2017-09-22 22:30:56

Пазл порадовал, там многое можно увидеть, спасибо!

Редактировалось 1 раз(а), последний 2017-09-22 22:30:56
карма: 0
Незнание HiAsm не снижает возможностей, но сильно увеличивает схему
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)