Du musst das PNG erst auf ein Bitmap kopieren, zum Speichern umgekehrt...
Das ist nicht korrekt.
Folgendes Beispiel funktioniert ohne Probleme:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile('xxx.png');
with TPNGImage(Image1.Picture.Graphic) do
begin
Canvas.Brush.Color:=clRed;
Canvas.Rectangle(10,10,50,50);
end;
Image1.Refresh;
end;
Wer's nicht glaubt: Ich kann die Demo gern anhängen...
Welche PNGImage-Version verwendest Du?
Vor allem sollte man bedenken das bei den konvertieren der Alpha Channel verloren geht.
Oder?
gruss