Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#241: 2013-08-05 21:53:10 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-05-21 05:30:47
карма: 0

0
Ответов: 80
Рейтинг: 4
#242: 2013-08-06 02:24:27 ЛС | профиль | цитата
37.45.182.145, странно, текст не хочет отображаться. Причем когда ставишь onBeforeDraw, все хорошо. Последняя строчка в массиве тоже куда-то пропадает, хотя он ее находит и добавляет.

1. Увидел наконец про какой цикл вы говорили. Исправил.
3. Ну а какие еще варианты?
4. Уже сам дописал. По аналогии.
------------ Дoбавленo в 02.24:
Цвет шестиугольников я поменял, прописав его отдельно. Вообще переписал всю цветовую схему. Теперь все должно правильно отображаться.
карма: 0

0
Ответов: 80
Рейтинг: 4
#243: 2014-08-25 12:12:48 ЛС | профиль | цитата
Приветствую всех. Давненько я не был.
И новый вопрос: как проверить вхождение точки в фигуру? Хочется действий при клике на шестиугольнике.
карма: 0

0
Ответов: 8926
Рейтинг: 823
#244: 2014-08-25 13:34:35 ЛС | профиль | цитата
R2D2, пока Вы здесь не были, во вкладке Графика появились новые возможности
Ну а по старому воспользуйтесь цветом: code_34175.txt
карма: 19

0
файлы: 1code_34175.txt [2.2KB] [490]
Ответов: 80
Рейтинг: 4
#245: 2014-08-25 14:41:36 ЛС | профиль | цитата
Я программу уже успел обновить
По поводу примера. Думал, не работает, оказалось вы садист)И вы не могли бы подробнее объяснить?

Какие возможности?
карма: 0

0
Ответов: 8926
Рейтинг: 823
#246: 2014-08-25 15:03:08 ЛС | профиль | цитата
R2D2 писал(а):
..подробнее объяснить..
Работу выложеной программки или новые возможности?
Цвет шестиугольников отличается от цвета фона много, а от друг друга на одну единичку красного, на вид незаметно (не художнику), да и если раскрасить +-5 единичек по каждому цвету (тысяча шестиугольников) разницу в цвете не очень-то разглядишь.
По новым возможностям хорошо ответят авторы этих возможностей
карма: 19

0
Ответов: 80
Рейтинг: 4
#247: 2014-08-26 05:32:54 ЛС | профиль | цитата
Спасибо большое за развернутый ответ.
Прошу еще раз объяснить мне, дураку, работу программы на пальцах)
карма: 0

0
Ответов: 8926
Рейтинг: 823
#248: 2014-08-26 13:47:46 ЛС | профиль | цитата
R2D2,
1. Создаётся виртуальная картинка (в памяти, исключительно для повышения быстродействия при дальнейшей работе);
2. На ней рисуются шестиугольники и заливаются отличающимися цветами;
3. Картинка передаётся в визуальный элемент такого же размера, что и виртуальная картинка (размер визуального элемента может быть другим, но тогда надо пересчитывать положение мышки);
4. При движении мышки по картинке считываются координаты положения и по ним определяется цвет пикселя под мышкой;
5. Если цвет пикселя совпадает с одним из цветов заливки, мышка находится внутри этого шестиугольника.
code_34176.txt
карма: 19

0
файлы: 1code_34176.txt [3.7KB] [437]
Ответов: 80
Рейтинг: 4
#249: 2014-08-26 17:25:02 ЛС | профиль | цитата
Печально, даже не знаю как мне это поможет, все таки у меня не по рамке тыкать, а по самому шестиугольнику, а это будет заметно, скорее всего.
Скажите, а можно ли насоздавать именно однотипные картинки по шаблону шестиугольника и обрабатывать клики по ним?
Чтобы вы лучше представляли с чем имеете дело - вот вам скриншоты.
http://clip2net.com/s/iNHaPH
http://clip2net.com/s/iNHbwe

Клик по каждому хексу должен обрабатываться и вызывать обращение к БД или чему-то, что ее заменит. Это еще одна трудность, с которой я столкнусь в перспективе.
карма: 0

0
Ответов: 8926
Рейтинг: 823
#250: 2014-08-26 21:12:50 ЛС | профиль | цитата
[b]R2D2[/b], как-то так?

Add(MainForm,11063882,280,35)
{
Width=605
Color=-16777215
link(onCreate,7140325:doWork1,[])
}
Add(ChildPanelEx,11481912,392,49)
{
Mode=1
link(onMouse,10451784:doData,[])
}
BEGIN_SDK
Add(EditMultiEx,2091165,21,21)
{
WorkCount=#5:##add|8:##select|
EventCount=#7:onClick|7:onMouse|
VarCount=#2:Hd|7:##count|7:##index|
Width=286
Height=123
Point(##add)
Point(##select)
Point(##count)
Point(##index)
link(##add,11161282:doSplit,[(39,27)(39,90)])
link(Hd,646812:Handle,[(27,127)(195,127)])
}
Add(Panel,646812,189,84)
{
Left=1
Top=1
Width=38
Height=44
Color=13224393
BorderWidth=0
BevelInner=0
BevelWidth=0
Point(Handle)
Point(doLeft)
Point(doTop)
Point(onMouseMove)
link(onClick,2091165:onClick,[(228,90)(228,27)])
link(onMouseMove,3778973:doData,[])
}
Add(MultiStrData,11161282,49,84)
{
Count=3
link(onPart1,1899116:doEvent1,[(88,90)(88,83)])
link(onPart2,646812:doLeft,[])
link(onPart3,646812:doTop,[])
}
Add(Memory,11276305,182,35)
{
}
Add(DoData,3778973,245,91)
{
link(onEventData,2091165:onMouse,[(284,97)(284,34)])
link(Data,11276305:Value,[(251,75)(188,75)])
}
Add(Delete,1777186,140,35)
{
Count=1
link(onDelete,11276305:doValue,[])
}
Add(Hub,1899116,105,77)
{
link(onEvent1,1777186:doDelete,[(130,83)(130,41)])
link(onEvent2,646812:doCaption,[])
}
END_SDK
Add(ChangeMon,10451784,441,56)
{
link(onData,11600139:doEvent1,[])
}
Add(MultiElement,7140325,329,49)
{
link(onEvent1,11481912:##add,[])
link(Data1,11481912:Hd,[(335,40)(370,40)(370,89)(398,89)])
}
BEGIN_SDK
Add(EditMulti,8242929,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
Width=482
VOffset=35
HOffset=126
link(doWork1,16593027:doFor,[])
}
Add(RGN_SetToWindow,4873525,147,133)
{
link(Handle,8242929:Data1,[])
link(Region,6037347:Result,[(160,124)(139,124)(139,173)(97,173)])
}
Add(RGN_OutlinePicture,6037347,91,133)
{
Picture=[ZIP2614000078DAEDD8BB0D83401084E1A30613500172E09802C8297CBA7107F66A25231E363AF66ED704F34B9B58425FEAB971EADBA40D7277B95EEE21D7A44E7F7FDED2AE972968B66FCF9BD8E569E2B0DA26B2AB61C254818982CE9BA8549E09877E9B706E6D223035111E4D9A3469D2A44993264D9A7E66F07FEA8F19B31DE6F910B2913633E9DB16741D65879BD7697C5E71DBFFE90D239F757B932AD4ACEF604BD9FAF6F60640D05002]
link(onOutlinePicture,4873525:doSetRegion,[])
}
Add(FormatStr,1021999,448,56)
{
DataCount=3
Mask="№%1;%2;%3"
link(onFString,8242929:onEvent1,[])
link(Str1,16703599:Count,[(454,47)(403,47)(403,96)(328,96)])
link(Str3,6447227:Result,[(468,30)(255,30)(255,93)(223,93)])
}
Add(For,2091422,273,56)
{
End=10
link(onEvent,16703599:doNext,[])
link(End,13438654:Result,[(286,47)(265,47)(265,103)(181,103)])
}
Add(MathParse,7085067,364,56)
{
MathStr="4+%1*42+%2"
ResultType=0
link(onResult,15421908:doEvent1,[])
link(X1,2091422:Position,[(370,48)(314,48)(314,96)(279,96)])
link(X2,4444297:Result,[(377,39)(162,39)(162,96)(118,96)])
}
Add(For,16593027,70,56)
{
End=6
link(onEvent,4444297:doCalc,[])
}
Add(MathParse,6447227,217,56)
{
MathStr="4+%1*37"
ResultType=0
link(onResult,2091422:doFor,[])
link(X1,5799261:Var3,[(223,47)])
}
Add(MathParse,4444297,112,56)
{
DataCount=1
MathStr="-21*(%1 mod 2)"
ResultType=0
link(onResult,13438654:doCalc,[])
}
Add(Hub,15421908,413,56)
{
link(onEvent1,1021999:doString,[])
link(onEvent2,6037347:doOutlinePicture,[(438,69)(438,111)(81,111)(81,139)])
}
Add(GetDataEx,5799261,175,42)
{
Angle=3
link(Data,16593027:Position,[(167,47)(167,103)(76,103)])
}
Add(Counter,16703599,322,56)
{
Max=100000
Default=-1
link(onNext,7085067:doCalc,[])
}
Add(MathParse,13438654,175,56)
{
MathStr="%0+(%1 mod 2)"
ResultType=0
Default=10
link(onResult,6447227:doCalc,[])
link(X1,5799261:Var2,[])
}
END_SDK
Add(Hub,11600139,483,56)
{
link(onEvent1,11063882:doCaption,[(507,62)(507,113)(270,113)(270,41)])
link(onEvent2,11481912:##select,[(501,69)(501,100)(382,100)(382,62)])
}
карма: 19

0
Ответов: 80
Рейтинг: 4
#251: 2014-08-27 23:18:31 ЛС | профиль | цитата
Почту свою дайте, пожалуйста.

Просто моя программа Img_Polygon'ом рисует. Придется по другому делать или можно так приспособить?
карма: 0

0
Ответов: 8926
Рейтинг: 823
#252: 2014-08-28 21:46:33 ЛС | профиль | цитата
R2D2, на картинке сложнее считать где мышка находится/кликнула, а по цвету если очень много ваших сот, картинка не хорошо смотрится Вот 1220 шестиугольников в одном флаконе: 6_angle.rar
[flood]kcMFYA<>yandex.ru на Яндексе[/flood]
------------ Дoбавленo в 21.46:
R2D2, а вот и на картинке, имена и цвет в StrList, размеры и количество можно менять 6_angle_img.rar
карма: 19

0
файлы: 26_angle.rar [6.9KB] [334], 6_angle_img.rar [8KB] [308]
Ответов: 80
Рейтинг: 4
#253: 2014-08-29 08:22:56 ЛС | профиль | цитата
Отправил)
карма: 0

0
Ответов: 8926
Рейтинг: 823
#254: 2014-08-29 14:47:25 ЛС | профиль | цитата
R2D2, получил
(Страсть как не люблю: раскрашенные схемы, разрывы линий, разбросанные компоненты на большом расстоянии не умещаюшиеся на моём мониторе с диагональю 80 см (32"))
1. "Колец" всегда 19?
2. <s n="Carlow Lambda" x="176" y="138">17861</s> Что означают цифры "17861"? А (176;138) уж не координаты-ли центра (или угла)?
3. Максимальный размер шестиугольника, в пикселях конечно?
------------ Дoбавленo в 14.47:
R2D2, оказывается всё-таки координаты, но отрисовка повёрнута не так, как в вашем примере.
vk_string.jpg
карма: 19

0
файлы: 1vk_string.jpg [122.4KB] [607]
Ответов: 80
Рейтинг: 4
#255: 2014-08-30 05:21:26 ЛС | профиль | цитата
Леонид, это координаты, но именно, что повернутые. Я уже не помню подробности, но использовать их почему-то не стал.
Цифры отношения к координатам не имеют)
Колец количество разное может быть, не только 19.

Да, шестиугольник в пикселях.
Как сделали столь чудную таблицу? Что можете сказать по упрощению схемы?
карма: 0

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