Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 01.03.2016, 12:36   #1
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 465
Репутация: 60
По умолчанию Какой оптимальный способ сделать картинку произвольнокликабельной?

Здравствуйте!
У меня вот такой вопрос: есть картинка. Например, такая. Надо сделать так, чтоб можно было кликнуть на произвольные её фрагменты.
В моей голове существуют две реализации кликабельности по картинкам:
Первая - это по кликанью на картинке определять координату и пускать на обработку в зависимости от того, внутрь какой области она входит. Но это либо нужно выводить прямоугольные области, либо задолбаешься их описывать.
Вторая - создавать рисунок-дубликат, в которым определённым цветом закрашивать определённые области, при кликаньи на исходную картинку "проецировать" координату на дубликат и по цвету определять область. Здесь минус в том, что если это не bmp, то при сжатии цвета искажаются, а если bmp, то при нескольких приличного размера картинках получается очень серьёзная добавка к "весу" программы.
Может, кто-то знает что-то оптимальное, чтоб и области можно было делать произвольными, и в весе сильно не прибавляло?
Ship_1 вне форума   Ответить с цитированием
Старый 01.03.2016, 13:10   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,394
Репутация: 1965
По умолчанию

Цитата:
что если это не bmp, то при сжатии цвета искажаются,
искажения цветов будут при наличии в картине огромного множества цветов (плавные и не очень) переходы одного в другой.
у вас же монотонные (одноцветные) участки и МАЛО цветов.
Цитата:
в которым определённым цветом закрашивать определённые области
монотонную картинку (Bmp) можно сжать любым архиватором.
__________________
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума   Ответить с цитированием
Старый 01.03.2016, 13:31   #3
f.hump
C/C++, Asm
Профессионал
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Адрес: Home Sweet Home
Сообщений: 1,327
Репутация: 633
По умолчанию

а чего только bmp?
вспомогательная картинка не фото, а довольно большие области одного цвета, для такого придумали png, если областей меньше 256 gif тоже отлично сработает.
f.hump вне форума   Ответить с цитированием
Старый 01.03.2016, 15:25   #4
Ship_1
Форумчанин
 
Регистрация: 10.02.2014
Сообщений: 465
Репутация: 60
По умолчанию

Попробую с другими форматами...
Ship_1 вне форума   Ответить с цитированием
Старый 01.03.2016, 23:01   #5
koljsch
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 356
Репутация: 113
По умолчанию

А я бы отображал картинку в стандартном браузере. В нем бы заранее сделал карту изображения на HTML при нажатие на которые переходило на определенные ссылки.
А вот в событие браузера при переходе по ссылки отлавливал какая именно ссылка нажата и выполнял нужные действия.
Довольно муторно в реализации, но зато достаточно потом легко использовать.
koljsch вне форума   Ответить с цитированием
Старый 13.12.2016, 19:20   #6
GreyScall
Пользователь
 
Аватар для GreyScall
 
Регистрация: 01.01.2011
Адрес: Россия, МО
Сообщений: 26
Репутация: 99

icq: 484056282
skype: GreyScall
Лампочка

Цитата:
Сообщение от Ship_1 Посмотреть сообщение
Первая - это по кликанью на картинке определять координату и пускать на обработку в зависимости от того, внутрь какой области она входит. Но это либо нужно выводить прямоугольные области, либо задолбаешься их описывать.
Это делается именно так. А причём тут "выводить прямоугольные области"? Попадание точки в многоугольник/полигон. Гугл знает.

А в HTML такое называется <map>+<area>. Правда уже много много лет не видел чтоб это кто-нибудь использовал.
__________________
Regards, GreyScall.
GreyScall вне форума   Ответить с цитированием
Ответ



Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Оптимальный способ организации передвижения в онлайн играх lawliet93 Gamedev - cоздание и обсуждение игр 20 08.03.2014 15:20
Оптимальный способ отправки файлов harunk Общие вопросы Delphi 2 04.09.2012 09:50
Какой способ чтения из БД быстрее? Desha БД в Delphi 1 21.11.2010 21:28
Оптимальный способ искать слова в текстовой (txt) базе. Alex Cones Общие вопросы Delphi 36 02.10.2009 17:18
Какой оптимальный способ в Delphi для перевода 10 системы счисления в 16с.с SERGOO Общие вопросы Delphi 5 25.05.2007 19:02




12:23.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru