![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 17.02.2010
Сообщений: 399
|
![]()
Добрый день форумчане, имеется картинка в виде карты, мне надо сделать чтоб при событии onMouseEnter картинка карты меняла цвет, а при событии onMouseLeave меняла на обратный с этим то проблем нет. Но кидаю на форму pictureBox а он ну грубо говоря квадратный а карта рельефная и получается что если я навожу на угол там где нету еще картинки события все равно срабатывают. как сделать чтоб pictureBox был по границе\контуру карты?
Последний раз редактировалось wm_leviathan; 04.02.2013 в 11:19. |
![]() |
![]() |
![]() |
#2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Я бы как-то так сделал.
Вне обработчика где-нибудь (например, Form_Load) берём картинку - кидаем в Bitmap, создаём массив bool[,] mask, двойным циклом по ширине и длине битмапа получаем пиксели mask = Bitmap.getPixel == цвет_прозрачности _вашей_картинки В обработчиках получаем координаты мыши относительно пикчербокса - и смотрим по нашему массиву маске - если координата приходится на прозрачный пиксель, т.е. if(mask[x,y]) то мы "вне картинки", иначе - меняйте. Думаю, та картинка, на которую изменилась первая имеет такие же очертания, и Leave мыши будет работать аналогично только условие смены картинки обратно - if(!mask[x,y]) . Какие могут быть родные средства, а не вручную - затрудняюсь сказать. Кстати , способ но нормально работает и многозонными картинками - только массив сделать из int или сразу Color - ну, конечно, в том случае, если сама картинка подходит для того чтобы по цветам пикселей выделять зоны. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 17.02.2010
Сообщений: 399
|
![]()
спасибо за ответ. но наткнулся на неплохой исходник, немного поколдовав с ним, и повставляв отдельные элементы моей карты (что то вроде пазла) получилось весьма неплохо. может кому пригодится http://www.codeproject.com/Articles/...ms-and-Buttons
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ищем специалиста(смарт-карты,бонус.карты и т.п) | modob1 | Фриланс | 3 | 20.01.2012 11:09 |
Карты для стратегий | ZotaC | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 18.10.2011 12:48 |
Значки для легенды карты | Loka | Общие вопросы .NET | 2 | 25.05.2011 08:27 |
создании карты для ММОРПГ | dampirik | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 9 | 06.03.2010 21:46 |
Карты для игр | L_M | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 16.05.2008 15:08 |