![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Яркость пикселя [D6, Win95/98, WinXP]
SiDr © (2004-02-13 00:43:00)Как узнать яркость пикселя ?
Fenik (2004-02-14 23:57:00) [1]Млин. Ошибка. Надо округлить ещё:
function Lightness(Color: TColor): Integer;
begin
Result := Round(
0.299*Lo(Color) +
0.587*Lo(Color shr 8) +
0.114*Lo((Color shr 8) shr 8));
end;
Fenik (2004-02-14 21:08:00) [2]Плохо искал.
Returns the low order Byte of argument X.
Unit
System
Category
miscellaneous routines
function Lo(X): Byte;
Description
Lo returns the low-order Byte of the argument X as an unsigned value. X is an expression of type Integer.
VasRog (2004-02-14 21:04:00) [3]Fenik © (14.02.04 10:36) [3]
А что за функция Lo? Я что-то такой в help'е не нашел?
Fenik (2004-02-14 10:36:00) [4]functionLightness(Color: TColor): Integer;
begin
Result :=
0.299*Lo(Color) +
0.587*Lo(Color shr8) +
0.114*Lo((Color shr8) shr8);
end;
MBo (2004-02-13 07:53:00) [5]пардон, не с единичными, а с равными 1/3.
MBo (2004-02-13 07:40:00) [6]сложить Red, Green, Blue составляющие в зависимости от задачи или с единичными коэффициентами, либо с 0.3, 0.59, 0.11 (NTSC стандарт)