Вверх ↑
Этот топик читают: Гость
Ответов: 1536
Рейтинг: 176
#1: 2013-02-03 20:46:46 ЛС | профиль | цитата
В прилагаемой схеме переключение картинок осуществляется благодаря активным зонам.
code_30245.txt
В данном случае, там 9 зон, 4 из которых актывные, для наглядности.
Задача состоит в том, чтобы разделить картинку диагонально и превратить образовавшиеся треугольники в активные зоны. Другими словами, необходимо избавиться от НЕактивных зон, которые имеют место в наглядном примере. Боюсь, это мне не посилам.
image001.jpg

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

0
файлы: 1code_30245.txt [4.1KB] [215]
Гость
Ответов: 17029
Рейтинг: 0
#2: 2013-02-03 21:00:06 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-20 18:36:17
карма: 0

0
Ответов: 1536
Рейтинг: 176
#3: 2013-02-03 21:04:38 ЛС | профиль | цитата
37.214.176.97 писал(а):
на три треугольника
на четыре треугольника. В остальном всё правильно понял.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2013-02-03 21:57:19 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-20 18:36:17
карма: 0

0
Ответов: 3349
Рейтинг: 233
#5: 2013-02-03 21:58:47 ЛС | профиль | цитата
Выше это я.
--1-/|---/-|
3-/-2|
--/--|
-/---|
/ 4--|
______|



карма: 1

1
Голосовали:ser_davkin
Ответов: 8933
Рейтинг: 824
#6: 2013-02-03 22:03:13 ЛС | профиль | цитата
Ivann писал(а):
Выше это я.

Но
3.159.access.ttknet.ru писал(а):
ниже обеих графиков

карма: 19

0
Ответов: 3349
Рейтинг: 233
#7: 2013-02-03 22:05:59 ЛС | профиль | цитата
Если f(mx) > my, то точка лежит выше первого графика, иначе ниже.
Если d(mx) > my, то точка лежит выше второго графика, иначе ниже
карма: 1

0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2013-02-03 22:32:55 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2025-01-20 18:36:18
карма: 0

0
Ответов: 3349
Рейтинг: 233
#9: 2013-02-03 22:37:44 ЛС | профиль | цитата
37.214.176.97, Для этого случая оно не нужно
карма: 1

0
Ответов: 1536
Рейтинг: 176
#10: 2013-02-04 08:01:57 ЛС | профиль | цитата
Ivann, Спасибо огромное!
У страха глаза большие, а на деле, всё как всегда, оказывается просто. (это про меня)
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1376
Рейтинг: 197
#11: 2013-02-04 12:59:09 ЛС | профиль | цитата
[offtop]Ещё есть функция WinAPI PtInRegion, вот бы её к какому-нибудь компоненту примастырить, к примеру к RGN_Script или отдельным компонентом...[/offtop]
карма: 1

0
Ответов: 1536
Рейтинг: 176
#12: 2013-02-04 21:55:16 ЛС | профиль | цитата
Нужно, вроде, довести тему до логического результата - довожу.
Add(MainForm,2953706,147,182)
{
Width=230
Height=211
}
Add(BitmapArray,7376035,252,231)
{
Bitmaps=['Bitmap'=[],'Bitmap'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C1FF6108DA77B593AD57B04C108CC901E2B5E2FF5D57BB82695281429BC27FF7B5EEFF43768580D98470F89270B85E9D493AFF437787FE4F3E954C3406E981018B7916FFDBDFB5FFAFB85F01C62036210CD2830C5C56B9C0E5406C42B8687F114618F86EF605EB07D1E40250F881302560E59D95FF470A00006D6E92A0],'Bitmap'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C1FF1102DA77B553A45FB04C108CC905E2B5E2FF5D57BB82697410BE24FCBF429B02411CB22BE4BFFB5A77301B19E84CD2F99F7C2A99681CBA3B14AC07062CE659FC6F7FD74E1057DCAF0063101BA407068AF617FD7759E54210C3CC01B14905BE9B7DC17A413439001476204C2E587967E5B0CC1700A5D592A0],'Bitmap'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C17F1A019F193EFF05CB04C118C4261508570AFF0FD91502C62036A940BC56FC7FF8DE703006B14905324D32FF630EC58031884D2A50EA50FA9F7822118C416C5281469FC6FFF473E9600C62930AF4A7EAFFCFBB9207C62036A9C074B6E9FF92DB25600C62930A6C16D9FCAF7A5805C620363160C1E505FF9D5638C171FDB37A30461603A9C1073CD679FC6F7FD7FEBFE5750B0A068981E48801BE9B7DC1EA9131488C1410B83D10AE17C42607C0D23F2D01008CAF9408],'Bitmap'=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C17F1A02C1324130260708570AFF7759E502C620362940BC56FCBFEB6AD7FF21BB42C018C406891103649A64FEB7BF6BFF9F7F2DFF7FF8DE703006B1416220397C60C2E109FF953A94E038E6500C18238B81D4100334FA34FE279E480463109B54A03F55FF7FFAB9743006B14905A6B34DFFE75DC90363109B5460B3C8E67FC9ED123006B149054E2B9CFE573DAC0263109B54E0B1CEE37FFDB37A3006B14905BE9B7DFFB7BC6E0163109B5410B83D109C664018C42615D49DAE83A75F109B560000C4178FB6]]
}
Add(ArrayRW,8655691,252,287)
{
link(onRead,7820824:doGetString,[])
link(Array,7376035:Array,[])
}
Add(StrList,7820824,329,245)
{
Strings=#0:|4:0;15|5:30;15|4:15;0|5:15;30|0:|
Point(doGetString)
Point(onGetString)
Point(String)
Point(IdxToSelect)
link(onGetString,13841345:doGetIndex,[])
link(IdxToSelect,8656514:Result,[(349,234)(315,234)(315,333)(160,333)])
}
Add(Img_Bmp,7168590,602,350)
{
link(onDraw,4419662:doRefresh,[(671,356)(671,390)(135,390)(135,237)])
link(Bitmap,4419662:Bitmap,[(608,339)(153,339)])
link(SourceBitmap,5046241:Var,[])
}
Add(MT_String,13787663,553,350)
{
link(onResult,7168590:doDraw,[])
link(Str1,8654885:Var3,[(559,310)])
}
Add(StrList,13841345,413,210)
{
Point(doGetIndex)
Point(onGetIndex)
link(Str,8654885:Var1,[(419,198)(384,198)])
link(onGetIndex,8384347:doCompare,[])
}
Add(If_else,8384347,462,217)
{
Op2=Integer(-1)
link(onTrue,7308780:doEvent1,[])
link(onFalse,15583991:doEvent1,[(506,230)(506,251)])
}
Add(GetIndexData,5046241,609,245)
{
link(onIndex,13787663:doMT,[(656,251)(656,286)(541,286)(541,363)])
link(Data1,8655691:Item,[(615,178)(304,178)(304,328)(258,328)])
link(Data2,13495802:Bitmap,[(622,233)(629,233)])
}
Add(ChanelToIndex,7664293,567,245)
{
link(onIndex,5046241:doIndex,[])
}
Add(Hub,7308780,518,217)
{
link(onEvent1,13841345:doAdd,[(550,223)(550,190)(401,190)(401,216)])
link(onEvent2,7664293:doWork1,[(550,230)(550,251)])
}
Add(Hub,15583991,518,245)
{
link(onEvent1,13841345:doDelete,[(543,251)(543,270)(401,270)(401,230)])
link(onEvent2,7664293:doWork2,[])
}
Add(Bitmap,13495802,623,189)
{
Picture=[ZIP3604000078DA73F235636100033320D600620128666450804840E591C1FFFFFF47F1281E58FCE7E77F14363A26C5AC7F7FFF13C4B8F5130BA8E9FF010500CDE83710]
}
Add(GetDataEx,8654885,378,305)
{
Angle=3
link(Data,7820824:String,[(356,310)])
}
Add(MathParse,8656514,154,287)
{
DataCount=4
MathStr="((((%1/%2)*%3)<((%1/%2)*%4))and(((%1/%2)*%3)<(-(%1/%2)*%4+%1))*1)+\r\n((((%1/%2)*%3)>((%1/%2)*%4))and(((%1/%2)*%3)>(-(%1/%2)*%4+%1))*2)+\r\n((((%1/%2)*%3)>((%1/%2)*%4))and(((%1/%2)*%3)<(-(%1/%2)*%4+%1))*3)+\r\n((((%1/%2)*%3)<((%1/%2)*%4))and(((%1/%2)*%3)>(-(%1/%2)*%4+%1))*4)"
link(onResult,8657844:doCompare,[])
link(X1,4419662:Height,[])
link(X2,4419662:Width,[])
link(X3,4419662:MouseX,[])
link(X4,4419662:MouseY,[])
}
Add(PaintBox,4419662,147,231)
{
Left=80
Top=55
Width=45
Height=45
Color=16777215
Point(Height)
Point(Width)
Point(MouseX)
Point(MouseY)
Point(onMouseUp)
link(onMouseUp,8656514:doCalc,[(197,244)(197,272)(142,272)(142,293)])
}
Add(If_else,8657844,196,287)
{
Type=5
Op2=Integer(0)
link(onTrue,8655691:doRead,[])
}
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)