Einzelnen Beitrag anzeigen

Cyberstorm

Registriert seit: 23. Okt 2003
159 Beiträge
 
Delphi 2010 Architect
 
#18

Re: Ein Bild mit einer Farbe multiplizieren?

  Alt 24. Jan 2008, 11:57
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
  Mit Zitat antworten Zitat