Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Pascal: JPEG-kuvan lataus resurssitiedostosta Delphillä

Janezki [12.04.2004 19:04:51]

#

Koska Jpeg- ja jpg-formaatteja ei pysty lataamaan kuvaan komennolla LoadFromResourceName, niin tässä olisi korvaava proceduuri.
Parametrit:
JPEGFROMRES = resurssitiedostossa olevan JPEG:in nimi
PICTURETOASSIGN = kuva johon ladattava JPEG asetetaan

procedure LoadJpegFromRes(JpegFromRes : string; PictureToAssign : Tbitmap);
 var
  ResHandle : THandle;
  MemHandle : THandle;
  MemStream : TMemoryStream;
  ResPtr    : PByte;
  ResSize   : Longint;
  JpegImage : TjpegImage;
begin
 ResHandle := FindResource(hInstance, PChar(JpegFromRes), 'JPEG');
 MemHandle := LoadResource(hInstance, ResHandle);
 ResPtr    := LockResource(MemHandle);
 MemStream := TMemoryStream.Create;
 JpegImage := TjpegImage.Create;
 ResSize := SizeOfResource(hInstance, ResHandle);
 MemStream.SetSize(ResSize);
 MemStream.Write(ResPtr^, ResSize);
 FreeResource(MemHandle);
 MemStream.Seek(0, 0);
 JpegImage.LoadFromStream(MemStream);
 PictureToAssign.Assign(JpegImage);
 JpegImage.Free;
 MemStream.Free;
end;

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta