Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Jpeg als TGPBitmap aus Resource laden

  Alt 17. Feb 2016, 11:05
Delphi-Quellcode:
procedure TMain.LoadFromResource(const S:String; var Bmp:TGPBitmap);
var Stream:TResourceStream;
    adapter: TStreamAdapter;
begin
   Stream:=TResourceStream.Create(HInstance,S, RT_RCDATA);
   adapter := TStreamAdapter.Create(Stream);
   Bmp:=TGPBitmap.Create(adapter, False);
   adapter.Free;
   Stream.Free;
end;
(PS: Ein try-finally ist beim Erzeugen/Zerstören von Objekten sehr sinnvoll)
Kleine Änderung, da man nicht weiß ob bei der übergebenen IStream -Referenz der Referenzzähler erhöht wird (ohne die Klasse TGPBitmap zu untersuchen)
Delphi-Quellcode:
procedure TMain.LoadFromResource( const S: String; var Bmp: TGPBitmap );
var
  Stream: TResourceStream;
  adapter: IStream;
begin
  Stream := TResourceStream.Create( HInstance, S, RT_RCDATA );
  adapter := TStreamAdapter.Create( Stream, soOwned );
  Bmp := TGPBitmap.Create( adapter, False );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat