Einzelnen Beitrag anzeigen

amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
272 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TPngImage freigeben

  Alt 20. Aug 2020, 14:15
Danke, ich habe mit für Bernhards Variante entschieden, da noch weitere Formulare auf die Funktion zugreifen.

Dann solltest du das TImage als Parameter übergeben.
Den beim Zuordnen an das TImage wird eine Kopie des TPNGImage erstellt.
Der Tipp war Gold wert. Danke 👌
Delphi-Quellcode:
StartDlg.LoadImgFromResource('Main', ImageMain);

procedure TStartDlg.LoadImgFromResource(Bezeichner: String; MyImage : TImage);
var
  Png: TPngImage;
begin
  Png := TPngImage.Create;
  try
   // DPI 200%
   if Screen.PixelsPerInch >= 192 then
     Png.LoadFromResourceName(HInstance, Bezeichner + '_200')
   // DPI 150%
   else if Screen.PixelsPerInch >= 144 then
     Png.LoadFromResourceName(HInstance, Bezeichner + '_150')
   // DPI 100%
   else
     Png.LoadFromResourceName(HInstance, Bezeichner + '_100');

    MyImage.Picture.Graphic := Png;
  finally
    Png.Free;
  end;
end;
  Mit Zitat antworten Zitat