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

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

RGB в GrayScale [D7, XP]


DFT ©   (2008-11-13 11:42:00) 

Здравствуйте!
Подскажите пожалуйста, никак не пойму.
У меня есть 8 битовое изображение в тонах серого (grayscale) , то есть каждый пиксель равен 1 байту (x = 0 .. 255).
Вопрос: в RGB представлении этот байт цвета будет представлен как RGB(x,x,x) или значение x может отличаться? Почемуто в моем случае оно  отличается и я не пойму почему.


SergeyIT   (2008-11-13 13:25:00) [1]

Почитайте про палитру в GrayScale битмепе.


Anatoly Podgoretsky   (2008-11-13 13:03:00) [2]

> DFT  (13.11.2008 12:32:04)  [4]

Это не GrayScale


Anatoly Podgoretsky   (2008-11-13 12:53:00) [3]

Потому что GrayScale это индекс, а RGB это значения.


DFT   (2008-11-13 12:32:00) [4]


> потому что серый - это не равное смешение разных цветов


Я совсем окончательно запутался. Но ведь функция получения оттенка серого цвета из RGB цвета ...
function GetGreyScale(red, blue, green: TColor): TColor;
var
   Color: Integer;
begin
  Color := Round(red * 0.56 + green * 0.33 + blue * 0.11);
  Result := RGB(Color, Color, Color);
end;

... подразумевает что все составляющие одинаковы.

Очень прошу, развейте мою неграмотность


Правильный$Вася   (2008-11-13 12:27:00) [5]


>  получай значение отличное от 100

потому что серый - это не равное смешение разных цветов


DFT   (2008-11-13 11:53:00) [6]


> Каком?

Имею 8 битовый растр в серых тонах.
Считываю с помощью ScanLine и получаю в n-ом пикселе значение байта к примеру 100.
Затем считываю тотже пиксел при помощи GetRValue(tempBMP.Canvas.Pixels[j,i]) и получай значение отличное от 100.


SergeyIT   (2008-11-13 11:49:00) [7]


> в моем случае

Каком?


Наверх

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