purebasic.info

PureBasic forum
Текущее время: Пт авг 23, 2019 12:18 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: Пт авг 09, 2019 6:39 pm 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 864
Благодарил (а): 90 раз.
Поблагодарили: 26 раз.
Пункты репутации: 5
по идее в API что то должно быть, в браузерах карты делают же
или идею подкинте как это реализовать
а то мне ничего умнее как создать массив координат в голову неприходит


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт авг 09, 2019 6:48 pm 
Не в сети
ассистент

Зарегистрирован: Вт июл 16, 2013 3:48 pm
Сообщений: 14
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Пункты репутации: 0
Варианты:
https://toster.ru/q/3158
https://habr.com/ru/post/301102/


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт авг 09, 2019 8:36 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 880
Благодарил (а): 2 раз.
Поблагодарили: 42 раз.
Пункты репутации: 9
Смотря какой многоугольник.
можно к примеру как прямоугольник в нутренней области сделать? :roll:


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб авг 10, 2019 5:57 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2320
Откуда: Russia — Belarus
Благодарил (а): 7 раз.
Поблагодарили: 75 раз.
Пункты репутации: 11
Если устраивает прямоугольная область ввиде Canvas'а, то можно просто отслеживать #PB_EventType_MouseEnter у CanvasGadget().

бред
Если сложная область, то подозреваю, что нужно реализовывать некий flood fill алгоритм?
https://rosettacode.org/wiki/Bitmap/Flo ... #PureBasic


https://en.wikipedia.org/wiki/Point_in_polygon

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Сб авг 10, 2019 6:55 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 864
Благодарил (а): 90 раз.
Поблагодарили: 26 раз.
Пункты репутации: 5
YTRE, qpAHToMAS
то что надо, будем пробовать

все предложенные методы для неизвестного многоугольнька, а для известного можно двухмерный массив создать
даст идеальную точность в отличии от вычислений, но это если картинка небольшая
или создать карту, в качестве ключей координаты, вот так 123x24, карта без данных!!!, только ключи, искать так
*Result = FindMapElement(Map(), Key$)
карта без данных создаётся значительно быстрей чем с данными и памяти требует меньше чем с данными
так что трудно сказать что будет лучше, массив, карта или вычисления
у меня восьмилучевая звезда, нужно отловить нахождение на луче, центр игнориЦа
картинка 143х143 пикселя


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Чт авг 22, 2019 2:14 pm 
Не в сети
профессор

Зарегистрирован: Вс июл 05, 2009 5:55 pm
Сообщений: 359
Благодарил (а): 1 раз.
Поблагодарили: 14 раз.
Пункты репутации: 0
Я делал ещё и так.
Похожий пример где-то вылаживал, не помню уже где.
Создавал картинку аналогичного размера.
Она нигде не отражается.
Каждую форму рисовал своим цветом.
Наводим вышей.
Узнаем координаты.
Считываем цвет.
По коду цвета получаем номер фигуры в таблице соответствия каждой форме.
Можно получать данные с очень сложных фигур, кода требует мизер, без формул и заумных текстов

_________________
искатель истины


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: Пт авг 23, 2019 3:37 am 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 864
Благодарил (а): 90 раз.
Поблагодарили: 26 раз.
Пункты репутации: 5
для не очень больших фиксированных картинок вполне подходит, подобным способом на картинках для обоев углы скруглял, они не просто круглые, а разной формы
а тут сдури в дебри полез

но вопрос есть ли это в апи остался, в теории должно быть, только как оно называется


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Kuzmat и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB