Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с TImage. Работа с отдельными частями TImage 
V
    Опции темы
SkyAngel
Дата 6.2.2009, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 11.1.2009
Где: Беларусь, Минск

Репутация: нет
Всего: нет



В общем такая проблема у меня появилась - необходимо загрузить картинку, и в специально отведённых областях обрабатывать событие OnClick. Всего TImage делиться на 18 не равных частей, которые должны быть в виде окружности. Есть предположения после прочтения примеров немного другого типа в гугле, однако хотелось бы более точный совет =).

Configuration:
CodeGear Rad Studio 2009
Windows Vista Sp1.

PM MAIL ICQ Skype   Вверх
AntonN
Дата 6.2.2009, 23:20 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 3
Всего: 18



по MouseDown определять координаты клика, иметь маску областей (в принципе в качестве цвета можно использовать номер области) и смотреть какой цвет (и номер области) вернулся по клику, в случае удачи "вручную" вызывать некий обработчик (самописную функцию итд).


--------------------
user posted image
PM MAIL WWW   Вверх
SkyAngel
Дата 6.2.2009, 23:32 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 11.1.2009
Где: Беларусь, Минск

Репутация: нет
Всего: нет



Не пойдёт. Различие цветов невозможно. Все центры окружностей имеют один и тот же цвет, а 6/9/15 ( в зависимости от загружаемой картинки) имеют один и тот же цвет. Мне необходимо "разбить" TImage на части и анализировать событие onClick на этих областях. Но проблема - я не знаю как это сделать.
Жду ещё предложений =)
PM MAIL ICQ Skype   Вверх
Shaggy
Дата 7.2.2009, 00:59 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 2.5.2007
Где: г.Ижевск

Репутация: 2
Всего: 5



CreateEllipticRgn
PtInRegion
PM MAIL ICQ   Вверх
SkyAngel
Дата 7.2.2009, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 11.1.2009
Где: Беларусь, Минск

Репутация: нет
Всего: нет



Цитата(Shaggy @  7.2.2009,  00:59 Найти цитируемый пост)
CreateEllipticRgn
PtInRegion


Всё выдержано в строгости времён СССР. А поподробнее можно? Я уже понял, что необходимо с этими функциями WinAPI работать. Но про окружность я, к примеру, не совсем понял. Какие именно кординаты задаються? Там же вроде их 4 штуки. Поподробнее, пожалуйста =).
PM MAIL ICQ Skype   Вверх
THandle
Дата 7.2.2009, 01:57 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: 50
Всего: 372



Так есть же описания:

http://msdn.microsoft.com/en-us/library/dd183496(VS.85).aspx
http://msdn.microsoft.com/en-us/library/dd162883(VS.85).aspx

Что не понятно?

Еще в DRKB есть примеры.
PM   Вверх
SkyAngel
Дата 7.2.2009, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 11.1.2009
Где: Беларусь, Минск

Репутация: нет
Всего: нет



В общем в условиях поставленой задачи гораздо легче воспользоваться дополнительными TImage с Transparent:=True; И обрабатывать событие onClick на них.
P.S. Мне были необходимы другие способы решения данной проблемы. Однако возникает и ествевственный вопрос - как сделать TImage в виде окружности?

Это сообщение отредактировал(а) SkyAngel - 7.2.2009, 14:42
PM MAIL ICQ Skype   Вверх
MetalFan
Дата 7.2.2009, 19:42 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



а не легче почитать описание функций, предложенных к использованию? или английский не панима?


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
SkyAngel
Дата 7.2.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 11.1.2009
Где: Беларусь, Минск

Репутация: нет
Всего: нет



Цитата(MetalFan @  7.2.2009,  19:42 Найти цитируемый пост)
а не легче почитать описание функций, предложенных к использованию? 


Возможно это я не понял, что я написал, что я спрашивал, есть ли такая функция. Описание какой функции мне смотреть? Название, по идее, должно было за это время ко мне с небес спуститься? =)).
На счёт 
Цитата(SkyAngel @  7.2.2009,  13:56 Найти цитируемый пост)
В общем в условиях поставленой задачи гораздо легче воспользоваться дополнительными TImage

при дальнейшем анализе того, что должен выполнять этот район - я понял, что изначально путь через области был неправильным, так как мне в дальнейшем необходимо будет на эти районы выводить рисунки.
А вот вопрос о TImage неправильной формы остался подвешен... Кто-нибудь компетентен в данном вопросе?
PM MAIL ICQ Skype   Вверх
AntonN
Дата 7.2.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.8.2006

Репутация: 3
Всего: 18



SkyAngel
Цитата

Не пойдёт.

Пойдет. Ты параметры областей знаешь? ну вот на рисуй на маске (на втором битмапе) эти области и по маске определяй.
Если надо пиши свой компонент, с двумя св-вами picture, в первом лицевая, во второй маска, обработчик onclick переделывай.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.