Форум: "Начинающим";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];
ВнизRGB в GrayScale Найти похожие ветки
← →
DFT (2008-11-13 11:42) [0]Здравствуйте!
Подскажите пожалуйста, никак не пойму.
У меня есть 8 битовое изображение в тонах серого (grayscale) , то есть каждый пиксель равен 1 байту (x = 0 .. 255).
Вопрос: в RGB представлении этот байт цвета будет представлен как RGB(x,x,x) или значение x может отличаться? Почемуто в моем случае оно отличается и я не пойму почему.
← →
SergeyIT © (2008-11-13 11:49) [1]
> в моем случае
Каком?
← →
DFT (2008-11-13 11:53) [2]
> Каком?
Имею 8 битовый растр в серых тонах.
Считываю с помощью ScanLine и получаю в n-ом пикселе значение байта к примеру 100.
Затем считываю тотже пиксел при помощи GetRValue(tempBMP.Canvas.Pixels[j,i]) и получай значение отличное от 100.
← →
Правильный$Вася (2008-11-13 12:27) [3]
> получай значение отличное от 100
потому что серый - это не равное смешение разных цветов
← →
DFT (2008-11-13 12:32) [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;
... подразумевает что все составляющие одинаковы.
Очень прошу, развейте мою неграмотность
← →
Anatoly Podgoretsky © (2008-11-13 12:53) [5]Потому что GrayScale это индекс, а RGB это значения.
← →
Anatoly Podgoretsky © (2008-11-13 13:03) [6]> DFT (13.11.2008 12:32:04) [4]
Это не GrayScale
← →
SergeyIT © (2008-11-13 13:25) [7]Почитайте про палитру в GrayScale битмепе.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.12.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.072 c