Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.03;
Скачать: CL | DM;

Вниз

Снова вопрос "организации алгоритма"   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.052 c
2-1163766009
Grant
2006-11-17 15:20
2006.12.03
ODBC


15-1163243828
Vansss
2006-11-11 14:17
2006.12.03
Помагите начинающиму!


4-1153033422
apic
2006-07-16 11:03
2006.12.03
работа с железом


10-1126014043
AlexeyMir
2005-09-06 17:40
2006.12.03
событие в ком-объекте


1-1161708596
carmen
2006-10-24 20:49
2006.12.03
Создание dbgrideh на листе tabsheet компонента pagecontrol