-
Если ли в библиотеке Graphics32 функции/методы регулировки яркости/контрастности изображения?
-
ApplyLUT
-
Омлет, а примеров у Вас нету?
-
Ну как-то так:
procedure AddBrightness(Dst, Src: TBitmap32; Value: Shortint); var i: integer; LUT: TLUT8; begin for i := low(LUT) to high(LUT) do LUT[i] := Min(0, Max(255, i + Value)); ApplyLUT(Dst, Src, LUT); end;
-
Наоборот: LUT[i] := Max(0, Min(255, i + Value));
-
Омлет, спасибо! Как быть с контрастом?
-
> Как быть с контрастом?Если по-простому, то, наверное, как-то так: procedure AddContrast(Dst, Src: TBitmap32; Value: Shortint);
var
i: integer;
LUT: TLUT8;
d: extended;
begin
if Value > 0 then
d := 1 + (Value / 10)
else
d := 1 - (Sqrt(-Value) / 10);
for i := low(LUT) to high(LUT) do
LUT[i] := Max(0, Min(255, 128 + Trunc((i - 128) * d) ));
ApplyLUT(Dst, Src, LUT);
end;
-
http://altima-sign.ru/procedure AddContrast(Dst, Src: TBitmap32; Value: Shortint); var i: integer; LUT: TLUT8; d: extended; begin if Value > 0 then d := 1 + (Value / 10) else d := 1 - (Sqrt(-Value) / 10); for i := low(LUT) to high(LUT) do LUT[i] := Max(0, Min(255, 128 + Trunc((i - 128) * d) )); ApplyLUT(Dst, Src, LUT); end; Как то так?
|