![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| luba |
|
|||
|
Unregistered |
здравствуйте!!!!
посоветуйте пожалуйста, как и через что можно реализовать следующую вещь: мне нужно, чтобы при наведении на определенную часть картинки происходили некоторые действия, то есть хочется, чтобы программа чувствовала передвижения мыши на определенных участках картинки, проверять по координатам очень муторно, поскольку контуры нужной мне части рисунка очень сложные. Может быть мне создавать регион с контурами, идентичными нужной мне части, но тогда как потом узнать, что мышь пробежала по этому региону |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Создавай невидимые окна, формы регионов, размещай их, и в них обрабтывай свою мышку.
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| luba |
|
|||
|
Unregistered |
так у меня получится ооооооооочень много форм, поскольку картинка очень большая и реагировать надо на большое количество ее частей
|
|||
|
||||
| Grey |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 91 Регистрация: 25.3.2002 Репутация: нет Всего: нет |
Можно сделать для картинки маску, на которой выделить нужные части и проверять точку на маске а не на картинке. Можно эту маску внедрить непосредственно в картинку, т. е. сделать bimap с 4 байтами на цвет. Правда получаем ограничение что частей должно быть не больше 256.
|
|||
|
||||
| luba |
|
|||
|
Unregistered |
а можно поподробней по поводу внедрения маски в картинку???? может где какая ссылочка мне поможет, потому как я с графикой если честно работала мало
|
|||
|
||||
| Step |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
У тебя есть кортинка, ты создеш картинку таких же размеров, только записуеш туда картинку, в которой каждый регион выделен отдельным цветом, количество цветов на этой картинки необходимо установить 256 цветов. Основная картника у тебя храниться в контексте устройсва окна, а вторая в совместимом контексте, при появлении движении мышки ты вызываеш функцию GetPixel только не для основного контекста, а для совместимого. Эта функция вернет значения от 0 до 255, это значения и отвечает за то в какую область ты попала. Примерно выгляди так.
функция обработки сообщения движения мышки
Успехов, надеюсь помог. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
||||||
|
|||||||
| luba |
|
|||
|
Unregistered |
спасибо!!!
Вы мне действительно помогли!!!!! |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Мы очень рады что не зря сдесь отвисаем -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |