Gamma w bitmapie

0

Proszę o pomoc!!! Czy jest może ktoś w posiadaniu gotowej procedury która zmienia gammę (zapisaną w Imagu bitmapę). Bardzo proszę o szybką odpowiedź. Dzięki.

0

Jest to bardzo czasochłonna procedura (szybkość zależy od procka i od rozmiaru bitmapy)

procedure TForm1.rozjasnijobraz;
var
i,i2 : integer;
opek : TColor;
begin
for i:=0 to Image1.Width do
begin
for i2:=0 to Image1.Height do
begin
opek := Image1.canvas.pixels[i,i2];
if getrvalue(opek) + 10 &gt 255 then
begin
red := 255;
end else
begin
red := getrValue(opek) + 10;
end;
if getgValue(opek) + 10 &gt 255 then
begin
green := 255;
end else
begin
green := getgValue(opek) + 10;
end;
if getbValue(opek) + 10 &gt 255 then
begin
blue := 255;
end else
begin
blue := getbValue(opek) + 10;
end;
opek := rgb(red,green,blue);
image1.Canvas.pixels[i,i2] := opek;
end;

end;
end;

Ja nie działa daj znać :]

Źródło moj programiq :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1