![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Можно еще вариант предложить ? Даже два.
Простой. Все страны разного цвета. Берем пиксель под курсором мыши. Его цвет - номер страны. Думаю цветов хватит. Усложненный. Для каждой страны строится регион. Например, так делаются формы в виде произвольной картинки. CreateRectRGN / CombineRgn. Попадание курсора мыши в регион легко проверяется - RectInRegion. |
![]() |
![]() |
![]() |
#12 | |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]() Цитата:
Всё гениальное - просто!
![]() |
|
![]() |
![]() |
![]() |
#13 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Вот пример (не мой)
Один цвет считается прозрачным. Из bmp строится регион, который включает все остальные цвета. Этот регион используется для создания формы. Код:
|
![]() |
![]() |
![]() |
#14 |
Форумчанин
Регистрация: 30.12.2007
Сообщений: 180
|
![]()
1 вый вариант был моей идеей тока где найти такую карту?
2 ой вариант мне нрав хотя он ооочн замысловатый если строить регион для каждой страны.... их вроде ж больше 120 или 150 вроде бы
^_^
Последний раз редактировалось WOLFak; 10.04.2008 в 20:25. |
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
Не подскажете "PRGBArray" из какого модуля взять?
Всё гениальное - просто!
![]() |
![]() |
![]() |
![]() |
#16 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
А дальше в OnMouseMove нужно проверять с текушими координатами и если курсор находится в диаппазоне (скажем Китая),то по этим точкам прорисовываем линию, она и будет границей Китая.
Всё гениальное - просто!
![]() |
![]() |
![]() |
![]() |
#17 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
Понятия не имею. Но у автора используется простое описание для доступа к цветам пикселов. Можно описать это так:
type TRGBArray = array[0..32767] of TColor; PRGBArray = ^TRGBArray; а TRGBTriple у него используется для деления на составляющие RGB и используется только в одном месте. Это можно сделать и по другому. Я как-то переделывал, но не пригодилось и сейчас не могу найти свой вариант. Air, если не получится, попробую восстановить. |
![]() |
![]() |
![]() |
#18 | |
Реанимируюсь...
Участник клуба
Регистрация: 19.07.2007
Сообщений: 1,445
|
![]() Цитата:
Карту правишь под свои нужды Photoshop'ом. Берешь Простой метод (наиболее оптимальный) от alexBlack и получаешь нужный тебе результат
Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте.
Правила форума => Правила раздела => Для общего развития => Помощь студентам => Перед тем, как создавать тему, скачайте себе... P.S.: форум не песочница (с)
название статьи на сайте MS: "Отмена принудительного отключения автоматического запуска в реестре Windows" |
|
![]() |
![]() |
![]() |
#19 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Да, метод с цветами действительно хитрый и простой. Можно сделать так что юзер и не заметит что цвета разные. Обычно ведь на картах используют до 10-ти цветов, на один два байта оттенок изменяешь и никто не заметит, визуально те же десять цветов.
Если цвета были бы недоступны, я бы записал в файл (или в ресурсы) массивы для каждой страны свой с координатами всех точек принадлежащих стране. Для создания их один раз пройтись по карте и кликнуть мышкой в каждой стране, если не ошибаюсь около 160-ти кликов придется сделать, главное чтобы граница четкая и постоянного цвета была. А уже на основе этих массивов можно сделать общий, для ускорения поиска, на каждый пиксель назначить страну наподобии как мп3 теги жанры хранят, одного байта хватит. Код:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 10.04.2008 в 22:37. |
![]() |
![]() |
![]() |
#20 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
А по мне, так вместо массивов проще маску сделать. Одну карту показываем пользователю (со всем рельефом). По второй карте определяем страну. Маска делается в Photoshope с реальной карты.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужна помощь | KpeHDeJIb | Помощь студентам | 4 | 04.07.2008 11:52 |
МНЕ НУЖНА ПОМОЩЬ | Акашаев Нурлан | Общие вопросы Delphi | 4 | 29.06.2008 21:07 |
Нужна помощь | londoner | Общие вопросы Delphi | 2 | 05.02.2007 14:23 |