Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.053 Beiträge
 
Delphi XE2 Professional
 
#1

Jpeg als TGPBitmap aus Resource laden

  Alt 13. Feb 2016, 12:51
Um Jpegs aus einer Resource zu laden gehe ich zur Zeit so vor:

Delphi-Quellcode:
PROCEDURE TMain.LoadFromResource(const S:String; var Bmp:TBitmap);
var Jpg:TJpegImage; Stream:TResourceStream;
begin
   Jpg:=TJPEGImage.Create;
   Stream:=TResourceStream.Create(HInstance,S, RT_RCDATA);
   Jpg.LoadFromStream(Stream);
   if not Assigned(Bmp) then Bmp:=TBitmap.Create;
   Bmp.Assign(Jpg);
   Stream.Free;
   Jpg.Free;
end;
Ich würde aber gern in eine TGPBitmap laden und habe versucht:
Delphi-Quellcode:
{
uses
  ...,
  Winapi.Gdipapi, Winapi.GdipObj,
  ...;
}
Delphi-Quellcode:
PROCEDURE TMain.LoadFromResource(const S:String; var Bmp:TGPBitmap);
var Stream:TResourceStream;
begin
   Stream:=TResourceStream.Create(HInstance,S, RT_RCDATA);
   Bmp:=TGPBitmap.Create(Stream,False);
   Stream.Free;
end;
Das geht so aber nicht, weil:
[DCC Fehler] Memory_Main.pas(2195): E2250 Es gibt keine überladene Version von 'Create', die man mit diesen Argumenten aufrufen kann

Mir ist klar, dass dass das TGPBitmap.Create(Stream,False); als ersten Parameter einen IStream erwartet, statt TResourceStream,
was mir aber nicht klar ist:
Wie bekomme ich einen IStream?
Oder allgemeiner gefragt: Wie kann ich eine Jpeg als TGPBitmap aus einer Resource laden?
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat