|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.03.2013, 23:15 | #1 |
Пользователь
Регистрация: 08.05.2012
Сообщений: 27
|
Как сделать карту высот bmp-файла?!
Как сделать карту высот bmp-файла?! а именно: из имеющегося bmp файла построить рядышком в другом image градиентное распределение высот (из цветов, из которых состоит сам bmp) ???
|
15.03.2013, 23:46 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
А что такое высота применительно к графическому изображению? (понятно, что не его размер по вертикали в пикселях)
|
16.03.2013, 09:22 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Учимся гуглить. http://www.alexeyspace.ru/programs/5/
|
16.03.2013, 11:35 | #4 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
phomm, это Вы кому?
Если мне, то хочу заметить, что "карта высот bmp-файла" и "карта высот в формате bmp-файла" по смыслу не одно и то же. В первом случае по имеющемуся bmp-файлу нужно построить карту высот, а во втором - эта карта уже содержится в файле и строить ее не нужно. |
16.03.2013, 16:02 | #5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Хм.. да, действительно, некорректно понял слова тс, сейчас перечитал.
В общем случае тогда предложу примитивный вариант Код:
Банальный пример (в нем количество диапазонов цвета равно 16 в кубе): Код:
В итоге получим массив , куда просуммированы все количество пикселей определённого диапазона цветов, сам массив размера количеств этих диапазонов. Вывести его - легко, в цикле просто рисуем линию от низа до высоты = числу в массиве, цветом, соответствующим обобщённому цвету для всего диапазона |
16.03.2013, 16:52 | #6 |
Пользователь
Регистрация: 08.05.2012
Сообщений: 27
|
phomm, спасибо! помогло!=)
ещё один вопрос по этой теме: только учусь, поэтому спрашиваю.... стал разбирать программу "карта высот из bmp изображения" (вот ссылка из соседней темы:http://www.programmersforum.ru/showt...E2%FB%F1%EE%F2) Можно ли на основе неё рядышком на форме сделать panel на которой изображен сам bmp-файл. по нему провести прямую мышкой а рядом в другой панельке сразу появился 2D профиль поверхности(ну то есть показать в срезе=)) битый час хочу сделать, но так и не получается...(( |
16.03.2013, 17:13 | #7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
phomm, Вы меня удивляете. (хотя, Chester751 удивляет еще больше - тем, что ему Ваше решение помогло)
С одной стороны, Вы знаете (а не предполагаете), что такое карта высот. С другой стороны, Вы предлагаете ТС не карту высот, а гистограмму распределения цветов. Разница уже хотя бы в том, что карта высот - объект двумерный, а гистограмма - одномерный. Кроме того, ТС пишет про градиентное распределение. В любом случае, градиент, насколько я понимаю, должен определяться в каждой из точек карты высот, т.е. поле градиентов тоже двумерно. Да и сам градиент - вектор, а потому его распределение должно также быть двумерным. Но самое поразительное, что ТС утверждает, что одномерное распределение, не имеющее никакого отношения ни к карте высот, ни к градиентам, - именно то, что ему нужно. |
17.03.2013, 18:31 | #8 | |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Ввиду возможного разночтения термина карта высот (Вы и сами отметили в #2) я опирался на поясняющий текст:
Цитата:
Распределение высот - карта соотношений определённых величин (цветов/оттенков) ко всему набору данных. Из цветов, из которых состоит сам бмп - т.е. данные о которых указано выше это действительно цвета/оттенки, и как раз требуется их количественный учет - "распределение цветов" Соотнеся некоторую странность изложения с общим стилем (новичковским - малоинформативность, неполнота) предположил, что задача учебная, и посему вряд ли с уклоном в серьёзные исследования - решил соответственно сперва подать более подходящий (по имхо) вариант - для учебной задачи он может быть полезен почти в любом случае - даже если человеку нужны серьезные вещи - начинать надо с малого (а коли бы он был не начинающий - то привёл бы сразу пройденные им этапы). Ну и в довершение - мне всё телепатор подсказал Chester751 Вы сперва панельку сделайте, рисунок туда нарисуйте, добавьте возможность проводить линии, а пока всё это делаете изучайте OpenGL -код и вообще весь код, что в программе той и постепенно всё раскусите. Что не будет получаться - с результатами работ скиньте в тему - сообразим толпой )) Последний раз редактировалось phomm; 17.03.2013 в 18:35. |
|
17.03.2013, 18:43 | #9 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Но карта высот - одномерная функция координаты, а цвет BMP - трехмерная. Поэтому у меня и возник вопрос, как по имеющемуся полноцветному файлу построить карту высот, чтобы уже от нее брать градиент. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сделать Карту | Tamee | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 06.06.2012 20:10 |
как сделать изображение-карту? | незнайка_на_земле | HTML и CSS | 6 | 18.11.2011 21:34 |
Нужно сделать интерактивную карту | 3dgoroda.ru | Помощь студентам | 0 | 21.02.2011 13:10 |
Как сделать BMP (768х756х24bit) из Avi-файла (768х756х24bit) без Формы? | nick17 | Общие вопросы Delphi | 0 | 14.12.2010 15:29 |