:: Visual Foxpro, Foxpro for DOS
Как привязать к картинке точечные данные ?
Nick

Сообщений: 140
Откуда: Lvov
Дата регистрации: 11.01.2001
хай всем!
Появилась задача на плане цеха - привязать приборы типа манометры !
Подскажите куда копать ?
Иммется план в bmp
И база манометров более 1000 штук
Хотелось бы по клику на нужный манометр - отобразить его положение на картинке (можно фрагментарно)

Пока есть только мысль - разбить картинку на "улитку" - присвоить раскадровке индексы и по клику из базы вытягивать номер "улитки"
А хотелось бы на полной картинке!
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Taran
Автор

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Так а что мешает пересчитать метры в пиксели?
Кинуть картинку, на нее Shape`ы накидать.
При желании делать видимыми все или только один?
Активировать увеличивая в размерах один требуемый или даже все.
ToolTip у этих шейпов прописать, обработку Click`а и пр..?
При желании масштабировать и пересчитывать положение шейпов.
А ежели все это положить в пару вложенных контейнеров, то и скролл добавить нет проблем, по крайней мере кнопками.
Ratings: 0 negative/1 positive
Re: Как привязать к картинке точечные данные ?
Nick

Сообщений: 140
Откуда: Lvov
Дата регистрации: 11.01.2001
Тоже мысль !
Только как масштабировать картинку софтово ?
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Taran
Автор

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
По простому ежели.
Ну ее положишь в объект Image через Picture или PictureVal.
У объекта Image есть свойство, отвечающее за пропорции (вероятно Stretch. Не помню.).
Установишь его в Изометрик.
Потом меняешь Height и Width этого Image и вуаля.
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Taran
Автор

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Добавчик.
Конечно/вероятно добавление 1000 объектов на форму занимает некоторое время.
Но или "сегодня хоть как-то", или "супер, но когда-нибудь". ;)
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Для того чтобы просто по "выбору из списка" подсветить ОДИН прибор на плане не нужно добавлять туда все 100500 приборов - достаточно один шейп и добавить, просто его перемещать.
Если же стоит задача "по картинке" тыкать мышой - тоже в принципе можно пойти от обратного - ловим Click на картинке, определяем координаты, выбираем из базы "близлежащие" (это отдельный алгоритм и его как раз вполне можно оптимизировать), потом можно автоматом "самый близкий" выбрать (если много рядом - список из близких показать) - и далее по той же схеме - хватит одного, ну нескольких шейпов (если надо пару-тройку одновременно держать "выбранными").
Т.к. >1000 объектов это действительно начинает тормозить... В основном создание и удаление объектов медленные будут. Да, кстати, для обращения к динамически добавленной толпе объектов есть GETPEM - в ряде случаев позволит ускорить процесс по сравнению с альтернативными вариантами обращения (прежде всего с макро).


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Nick

Сообщений: 140
Откуда: Lvov
Дата регистрации: 11.01.2001
По картинке никто кликать не будет
именно нужно подсветить обьект на картинке
где его искать
Думаю сделать привязку к пикселям и название обьекта и его координаты брать из базы ,
а затем активировать шейп !
Просто как это сделать программно пока не соберу раму!
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Taran
Автор

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Выбираешь из БД максимальное значение метров/см по высоте и ширине.
Высчитываешь некоторые множители для этих максимальных величин и размеров картинки на экране.
Кликаешь по списку, отображаешь шейп на фоне картинки и анализируешь чего скорректировать.
Как минимум начальное смещение по X и Y ну и эти самые множители.
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
ТС наверное хочет не просто положить карту цеха (BMP-шку) на форму (и потом на ней размещать подсвеченные точки и шейпы), но и масштабировать эту карту (как карту в гугле, приблизить/удалить/перемещать видимый квадрат). Хватит ли для этого возможностей обьекта Image? Или сделать невидимую форму с этой картинкой пиксель-в-пиксель (или масштабированный), а потом показывать нужный квадрат из этой невидимой формы...
Мда, вы все так и сказали.



Исправлено 2 раз(а). Последнее : of63, 23.01.18 17:26
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Nick
По картинке никто кликать не будет
именно нужно подсветить обьект на картинке
где его искать
Думаю сделать привязку к пикселям и название обьекта и его координаты брать из базы ,
а затем активировать шейп !
Просто как это сделать программно пока не соберу раму!

Вместо подсвечивания можно накладывать прозрачный квадратик. Такими свойствами (Transparent и рамкой) обладают Shape, Label, Container.
Shape позволяет использовать различные эффекты, Label - вставлять текст, Container - добавлять при необходимости объекты.



Исправлено 1 раз(а). Последнее : lulgu, 23.01.18 21:54
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Nick

Сообщений: 140
Откуда: Lvov
Дата регистрации: 11.01.2001
Спасибо всем , буду пробовать!
Ratings: 0 negative/0 positive
Re: Как привязать к картинке точечные данные ?
Taran
Автор

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
Nick
Спасибо всем , буду пробовать!
Ты не стесняйся. Не вопрос.
Я в свое время. (посторонний человек попросил)
скачивал .BMP карту города с сайта МЧС и на нее кидал свои метки.
В некотором смысле это смешно, но .. да. х.з.
Чел диплом защитил.
ХЗ как.
Два диплома. Два пятака. Мои амбиции греют.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 37 (Гостей: 37)

© 2000-2024 Fox Club 
Яндекс.Метрика