Как привязать к картинке точечные данные ? | |
---|---|
Nick Сообщений: 140 Откуда: Lvov Дата регистрации: 11.01.2001 |
хай всем!
Появилась задача на плане цеха - привязать приборы типа манометры ! Подскажите куда копать ? Иммется план в bmp И база манометров более 1000 штук Хотелось бы по клику на нужный манометр - отобразить его положение на картинке (можно фрагментарно) Пока есть только мысль - разбить картинку на "улитку" - присвоить раскадровке индексы и по клику из базы вытягивать номер "улитки" А хотелось бы на полной картинке! |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Taran Автор Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Так а что мешает пересчитать метры в пиксели?
Кинуть картинку, на нее Shape`ы накидать. При желании делать видимыми все или только один? Активировать увеличивая в размерах один требуемый или даже все. ToolTip у этих шейпов прописать, обработку Click`а и пр..? При желании масштабировать и пересчитывать положение шейпов. А ежели все это положить в пару вложенных контейнеров, то и скролл добавить нет проблем, по крайней мере кнопками. |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Nick Сообщений: 140 Откуда: Lvov Дата регистрации: 11.01.2001 |
Тоже мысль !
Только как масштабировать картинку софтово ? |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Taran Автор Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
По простому ежели.
Ну ее положишь в объект Image через Picture или PictureVal. У объекта Image есть свойство, отвечающее за пропорции (вероятно Stretch. Не помню.). Установишь его в Изометрик. Потом меняешь Height и Width этого Image и вуаля. |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Taran Автор Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Добавчик.
Конечно/вероятно добавление 1000 объектов на форму занимает некоторое время. Но или "сегодня хоть как-то", или "супер, но когда-нибудь". ;) |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Для того чтобы просто по "выбору из списка" подсветить ОДИН прибор на плане не нужно добавлять туда все 100500 приборов - достаточно один шейп и добавить, просто его перемещать.
Если же стоит задача "по картинке" тыкать мышой - тоже в принципе можно пойти от обратного - ловим Click на картинке, определяем координаты, выбираем из базы "близлежащие" (это отдельный алгоритм и его как раз вполне можно оптимизировать), потом можно автоматом "самый близкий" выбрать (если много рядом - список из близких показать) - и далее по той же схеме - хватит одного, ну нескольких шейпов (если надо пару-тройку одновременно держать "выбранными"). Т.к. >1000 объектов это действительно начинает тормозить... В основном создание и удаление объектов медленные будут. Да, кстати, для обращения к динамически добавленной толпе объектов есть GETPEM - в ряде случаев позволит ускорить процесс по сравнению с альтернативными вариантами обращения (прежде всего с макро). ------------------ WBR, Igor |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Nick Сообщений: 140 Откуда: Lvov Дата регистрации: 11.01.2001 |
По картинке никто кликать не будет
именно нужно подсветить обьект на картинке где его искать Думаю сделать привязку к пикселям и название обьекта и его координаты брать из базы , а затем активировать шейп ! Просто как это сделать программно пока не соберу раму! |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Taran Автор Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Выбираешь из БД максимальное значение метров/см по высоте и ширине.
Высчитываешь некоторые множители для этих максимальных величин и размеров картинки на экране. Кликаешь по списку, отображаешь шейп на фоне картинки и анализируешь чего скорректировать. Как минимум начальное смещение по X и Y ну и эти самые множители. |
Re: Как привязать к картинке точечные данные ? | |
---|---|
of63 Сообщений: 25244 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
ТС наверное хочет не просто положить карту цеха (BMP-шку) на форму (и потом на ней размещать подсвеченные точки и шейпы), но и масштабировать эту карту (как карту в гугле, приблизить/удалить/перемещать видимый квадрат). Хватит ли для этого возможностей обьекта Image? Или сделать невидимую форму с этой картинкой пиксель-в-пиксель (или масштабированный), а потом показывать нужный квадрат из этой невидимой формы...
Мда, вы все так и сказали. Исправлено 2 раз(а). Последнее : of63, 23.01.18 17:26 |
Re: Как привязать к картинке точечные данные ? | |
---|---|
lulgu Сообщений: 1838 Дата регистрации: 30.11.2016 |
Вместо подсвечивания можно накладывать прозрачный квадратик. Такими свойствами (Transparent и рамкой) обладают Shape, Label, Container. Shape позволяет использовать различные эффекты, Label - вставлять текст, Container - добавлять при необходимости объекты. Исправлено 1 раз(а). Последнее : lulgu, 23.01.18 21:54 |
Re: Как привязать к картинке точечные данные ? | |
---|---|
Nick Сообщений: 140 Откуда: Lvov Дата регистрации: 11.01.2001 |
Спасибо всем , буду пробовать!
|
Re: Как привязать к картинке точечные данные ? | |
---|---|
Taran Автор Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Ты не стесняйся. Не вопрос. Я в свое время. (посторонний человек попросил) скачивал .BMP карту города с сайта МЧС и на нее кидал свои метки. В некотором смысле это смешно, но .. да. х.з. Чел диплом защитил. ХЗ как. Два диплома. Два пятака. Мои амбиции греют. |
© 2000-2024 Fox Club  |