Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bmp... вопрос...


Smoker ©   (2003-11-17 17:18:00) 

Братья по разуму, подскажите как лучше реализвать идею :
Входные данные >>> Bmp файл
Выходные данные >>> x,y - "место" пиксела
                     с - цвет пиксела


Fenik   (2003-11-22 22:39:00) [1]

Bitmap.LoadFromFile

var
 p: pByteArray;
for y := 0 to Bitmap.Height - 1 do begin
 p := Bitmap.ScanLine[y];
 for x := 0 to Bitmap.Width - 1 do begin
   [x, y] - место

   p[x*3] - синий
   p[x*3+1] - зелёный
   p[x*3+2] - красный

   RGB(p[x*3+2], p[x*3+1], p[x*3]) - цвет.
 end;
end;


Smoker   (2003-11-17 18:23:00) [2]

2 BlackTiger >>> Применяется для всей картинки...
Спасибо за ответы, но как мне программно загрузить изображение
и "отсканировать" его ?
Т.е. приложение берёт bmp -> сканирует -> выдаёт все пикселы с
параметрами...


Pa5ha   (2003-11-17 17:49:00) [3]

->Прошу заметить: х,у:word;//т.к.баита маловато будет(255).
->с:word(16 bit) или Longword(32 bit) - так проще работать.


BlackTiger   (2003-11-17 17:28:00) [4]

Для какого-то конкретного пикселя? Или всю картинку "разложить"?

Маленькое замечание.
x,y : byte - "место" пиксела
с : array[4] of byte - цвет пиксела для 32битного цвета (если нужно работать с каждой составляющей отдельно).
или
c : integer - если нужен цвет целиком.

Имхо, можно читать bmp просто как поток байтов, выкидывая заголовочную информацию. Короче нужно описание заголовка. А потом - бери больше, кидай дальше.


Наверх

Титульная страница Поиск, карта сайта Написать письмо