![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BMP-файлы и RGB
-=Tiger=- © (2006-11-01 13:04:00)Здравствуйте! Уже просмотрел форму в поисках подобного вопроса, но того, что нужно, не нашёл.. Есть задание: на входе проги bmp-файл, на выходе - три bmp с изменёнными интенсивностями каналов R, G, B. Т.е. первый измененный bmp - с сильной интенсивностью канала R и слабой инетенсивностью каналов G, B; второй - с сильной интенсивностью G и т.д. Подскажите, пожалуйста, как это сделать? =) В графике я вообще не разбираюсь. Понимаю, конечно, что необходимо знать структуру bmp-файла, считать её... и всё =) дальше не знаю.. заранее благодарю за все ответы...
Горгер (2006-11-07 00:42:00) [1]Есть формат представления цвета HSV, в котором вместо красного, зеленого, и синего каналов есть тон (H), насыщенность (S), и светлота (V).
Алгоритм преобразования RGB->HSV находится по ссылке:
http://algolist.manual.ru/graphics/rgb2hsv.php
В фотошопе поиграйся с H,S,V и определи что и как надо изменять, для того, чтобы свой сабж решить.
Берешь свой RGB на входе, конвертируешь его пиксели в HSV, правишь как надо, потом опять в RGB и готово.
-=Tiger=- (2006-11-01 16:16:00) [2]Всё, пасиба MBo и всем остальным. Прочитал статью "Поставить точку" - всё стало пняно =)
-=Tiger=- (2006-11-01 16:13:00) [3]вобщем, дело с мертвой точки сдвинулось ) Считал заголовок и инфу bmp-файла... но вот не понимаю, как изменить интенсивность каналов RGB. Я так понял, что каждый пиксел файла имеет свои значения R,G,B.. я понял правильно? =) Если да, то наверное в цикле надо пробежаться по всем пикселам и изменить интенсивность их RGB. Вопрос: каким образом это сделать? ) в смысле, как узнать RGB каждого пиксела?
MBo (2006-11-01 15:58:00) [4]Для доступа к данным битмапа можно использовать TBitmap.Scanline или метод из статьи "Поставить точку"
Vovan#1 (2006-11-01 15:58:00) [5]> Понимаю, конечно, что необходимо знать структуру bmp-файла, считать её...
Если ты программируешь под Delphi, то заморачиваться с чтением файла не надо - это за тебя сделают стандартные средства, в неё входящие. Имеется ввиду класс TBitmap.
Jeer (2006-11-01 15:46:00) [6]Сам понимаешь - либо учишься, либо платишь.
Возможно также интуитивное постижение материала путем погружения сознания в Тонкий Мир.