ich verzweifle langsam :-/.
also habe das jetzt folgendermaßen abgeändert:
Delphi-Quellcode:
procedure TfrmMain.Calculate;
var
Prozent: Real;
x, y, r, g, b, t: Integer;
P: PRGB;
begin
Prozent:=SbProzent.Position / 100;
for y:=0 to Image.Picture.Height-1 do
begin
P:=Image.Picture.Bitmap.ScanLine[y];
for x:=0 to Image.Picture.Width-1 do
begin
r:=round(((p.Blue / 255) + ((SbBlau.Position / 255) * Prozent)) * 255);
g:=round(((p.Green / 255) + ((SbGruen.Position / 255) * Prozent)) * 255);
b:=round(((p.Red / 255) + ((SbRot.Position / 255) * Prozent)) * 255);
t:=max(r,max(g,b));
if t>255 then
begin
r:=Round(r/t*255);
g:=Round(g/t*255);
b:=Round(b/t*255);
end;
p.Blue:=b;
p.Green:=g;
p.Red:=r;
Inc(p);
end;
end;
end;
da kommt aber quatsch bei raus. wird dann blau wenn ich grün anmache und so sachen...
die sachen von der ddr ecke sind das selbe wie diealte funktion