Image322.Bitmap.Assign(Image321.Bitmap);
for i:= 0 to Image322.Bitmap.Width * Image322.Bitmap.Height -1 do
begin
R := RedComponent(Image322.Bitmap.Bits[i]);
G := GreenComponent(Image322.Bitmap.Bits[i]);
B := BlueComponent(Image322.Bitmap.Bits[i]);
if R > 255 then R := 255 else if R < 0 then R := 0;
if G > 255 then G := 255 else if G < 0 then G := 0;
if B > 255 then B := 255 else if B < 0 then B := 0;
RGBtoHSL( Color32(R, G, B), H, S, L );
L2 := L * TrackBar2.Position;
if L > 240 then
L2 := 240;
Image322.Bitmap.Bits[i] := HSLtoRGB(H, S, L2);
end;
위의 로직에서 RGB값에서 HSL값을 구하였습니다. 그런데
명도를 조절하기위해서
L2 := L * TrackBar2.Position; 이렇게 트랙바의 포지션값을 해주니 이상하게 되더군요...
TrackBar2.Position 값이 -255 부터 255까지라구 한다면요,,,어떻게 값을 계산하여야 하나요???
답변부탁드립니다.
위의로직처럼 rgb값을 가지고 해야하걸랑요....