Zweite Frage glatt überlesen...
Wenn du aus einem PNG ein Icon machen willst, dann geht das nur über eine Konvertierung. In vielen Fällen können die TGraphic-Abkömmlinge sich selbst irgendwie umwandeln. Idealerweise machst du das über eine separate Instanz entweder des Source- oder des Zielobjekts, da die interne Instanz des TPicture ja beim Wechsel des Formats freigegeben wird.
Also konkret (ungetestet):
Delphi-Quellcode:
var
tmpPic: TPicture;
begin
tmpPic := TPicture.Create(nil);
try
tmpPic.LoadFromFile(...);
Image1.Picture.Icon.Assign(tmpPic.Graphic);
finally
tmpPic.Free;
end;
end;
oder
Delphi-Quellcode:
var
icon: TIcon;
begin
{ irgendwo eventuell }
icon := TIcon.Create;
...
Icon.Assign(Image1.Picture.Graphic);
...
end;