Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#3

AW: png icon umfärben

  Alt 5. Mär 2014, 14:21
Versuch mal so:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
  filename: String;
  png1: TPNGObject;
  x, y : Integer;
  Line : PRGB32Array;
  R, G, B: Byte;
begin
  R := 0;
  G := 0;
  B := 0;
  if OpenDialog1.execute then
  begin
    filename := OpenDialog1.FileName;
    if pos('.png', filename) > 0 then
    begin
      png1 := TPNGObject.create;
      try
        png1.LoadFromFile(filename);
        for y := 0 to png1.Height - 1 do
        begin
           line := png1.scanline[y];
           for x := 0 to png1.Width-1 do
           begin
             //alpha Werte des Quell PNG's nicht verändern
             if (Line[x].R <> 255) or
                (Line[x].G <> 255) or
                (Line[x].B <> 255) then
             begin
               Line[x].R := R;
               Line[y].G := G;
               Line[x].B := B;
             end;
           end;
         end;
         png1.SaveToFile('test.png');
       finally
         PNG1.Free;
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat