Dzień dobry :)
moim zadaniem jest zrobić filtr regulujący jasność fotografi..
wykombinowałam coś takiego:
procedure JasnoscScanLine( rysunek: TImage);
var x,y: integer;
P: PByteArray;
r,g,b: integer;
value: real;
begin
rysunek.Picture.Bitmap.PixelFormat :=pf24Bit;
with rysunek.Picture.Bitmap do
for y:=0 to Height-1 do
begin
P :=ScanLine[y];
x:=0;
repeat
r := round(P[x+2] + value);
g := round(P[x+1] + value);
b := round(P [x] + value);
if r>255 then r:=255;
if r<0 then r:=0;
if g>255 then g:=255;
if g<0 then g:=0;
if b>255 then b:=255;
if b<0 then b:=0;
P[x+2] :=r;
P[x+1] :=g;
P[x] :=b;
x := x+3;
until x>(Width-1)*3;
end;
rysunek.Invalidate;
end;
nie mam zielonego pojęcia czy to jest dobrze czy źle .. robiłam to na czuja..
pytanie ... a jest wartością ustalaną przez spinedit... wiem ze mam to powiązać a:=Spinedit1.Value; tylko gdzie ja mam to wstawić ??? w obsłudze spin edita ... key down, key up?
pytanie 2
mam da image w 1 jest otwarta fotka w drugim fotka poddawana obróbce ... chce umieścić undo ... nie wiem jak pomocy...
pytanie 3 czy musze robić plik tymczasowy??