Форум: "Прочее";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
ВнизСнова вопрос "организации алгоритма" Найти похожие ветки
← →
Click (2006-11-15 14:29) [0]Возникла следующая задача (предыдущая успешно решена здесь: http://delphimaster.net/view/15-1163148108/ :) )....
Опять же готового кода не прошу и примеров тоже, прошу наставить на путь истинный :))
Исходные данные:
Есть некое изображение (неважно файл *.bmp или *.jpg or etc) на этом изображении хаотично нарисованы одинаковые .... ну например квадратики (далее объекты) (одинаковые - значит: одинакового цвета, размера и т.д.) фон на котором они нарисованы может быть любым.. (т.е. на белом, любом однотонном фоне или фотографии).
Все вместе назовем это "картой".
Задача:
Необходимо при открытии сей карты в моей программе в тех местах где обозначены объекты разместить какой-либо контрол, например кнопку...
Решение:
Как такового нет ...
есть идея к каждой карте прикреплять файл с координатами, затем при открытии располагать объекты согласно считанным из файла координатам... - Но! Есть у меня подозрение что это можно сделать значительно грамотней...
Так вот просьба: если есть идеи или может кто-то уже занимался этой задачей подсказать наиболее "удобный" путь решения задачи.
Спасибо!
Если есть неточности в формировании задачи прошу извинить - на дополнительные вопросы с удовольствием отвечу.
← →
Click (2006-11-15 15:37) [1]Удалено модератором
Примечание: Создание пустых сообщений
← →
KilkennyCat © (2006-11-15 15:45) [2]объекты надо определять?
← →
Click (2006-11-15 15:49) [3]
> KilkennyCat © (15.11.06 15:45) [2]
ну вобщем да...
а лучше координаты объектов и затем по этим координатам расставлять "кнопки"
← →
Jeer © (2006-11-15 16:20) [4]не нужно кнопки - определяй зону объекта и над этим местом меняй форму курсора и обрабатывай OnClick
← →
click (2006-11-15 17:12) [5]Jeer ©
можно и так - ты прав!
а вот зону объекта как определить? что дальше делать кнопки ставить или курсор менять - не проблема...
← →
Jeer © (2006-11-15 17:16) [6]А как хочешь - я же не знаю, что за плоский объект у тебя - квадрат, овал, полилиния.
Сопоставляй каждому объекту некоторый массив координат или полилинию, примерно описывающие контуры объекта.
← →
boriskb © (2006-11-15 17:18) [7]click (15.11.06 17:12) [5]
а вот зону объекта как определить?
Click (15.11.06 14:29)
Все вместе назовем это "картой".
Ее кто рисует?
Что ты про нее знаешь, когда программа твоя работает? Цвет, размер, цвет фона, ориентация. Координаты, наконец.
Совершенно произвольная карта и случайным образом сформированная?
Тогда "распознование образов"
Неслабая задача.
← →
click (2006-11-16 14:33) [8]
> boriskb © (15.11.06 17:18) [7]
> Ее кто рисует?
Не я, но отредактировать могу...
> Что ты про нее знаешь, когда программа твоя работает? Цвет,
> размер, цвет фона, ориентация. Координаты, наконец.
Цвет, размер объектов знаю, их координаты заранее не знаю...
> Совершенно произвольная карта и случайным образом сформированная?
Ну в общем наверно можно сказать и так...
___________________________
Идея мне одна пришла...
Только вот перед загрузкой карты в программу ее необходимо будет "подготовить", а именно в тех местах где нарисованны объекты ставить точку на картинке цветом который до этого на карте не встречался... (ну например если карта черно-белая и объекты обозначены на ней также в черно-белом виде то рядом с объетом ставить например красную точку - это подготовка карты). Затем открываем карту в программе и попиксельно ищем красные точки если найдено - ставим в эти координаты контрол... Незнаю может подход не правильный - но пока это единственное что приходит в голову...
Так вот. Если никто лучшего варианта не предложит и прийдется отталкиваться от этого, то возникает следующий вопрос:
дело в том что каждый объект обладает своими свойствами которые при "клике" по объекту прийдется демонстрировать пользователю ....
так вот как определить по какому объекту кликнули - пока не придумал...
← →
Skier © (2006-11-16 14:37) [9]
> так вот как определить по какому объекту кликнули - пока
> не придумал...
Tag ?
← →
Jeer © (2006-11-16 14:39) [10]Кто мешает сделать ручную векторизацую объектов ?
Это лучше, чем точки ставить.
Тебе ж сказано - определение попадания координат курсора в координаты того или иного объекта, т.е. перебор.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.12.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.052 c