Delphi Source Code
Search engine
HOME Components Tutorials Add Trick Links Contacts
ActiveX Components Database Files Forms Graphic Internet/Lan Math Miscellaneous Multimedia Printing Strings System Information Windows

Delphi source code for Graphic >> Get Bitmaps from Resource Files


Category: Graphic
Title: Get Bitmaps from Resource Files
Date added: 15.03.2006
Hits: 8902



procedure GetBitmapFromResource(const sRecourceName: PAnsiChar; const sDestFileName: string);
const
  BM = $4D42;  {Bitmap type identifier}
var
  Bmp: TBitmap;
  BMF: TBitmapFileHeader;
  HResInfo: THandle;
  MemHandle: THandle;
  mStream: TMemoryStream;
  ResPtr: PByte;
begin
  BMF.bfType := BM;
  { Find, Load, and Lock the Resource containing BITMAP1 }
  HResInfo  := FindResource(HInstance, sRecourceName, RT_BITMAP);
  MemHandle := LoadResource(HInstance, HResInfo);
  ResPtr    := LockResource(MemHandle);
  { the header is lost, so will need to be recalculated,
    but lets be lazy and let TBitmap recreate the full header }

  mStream := TMemoryStream.Create;
  try
    mStream.SetSize(SizeofResource(HInstance, HResInfo) + SizeOf(BMF));
    mStream.Write(BMF, SizeOf(BMF));
    mStream.Write(ResPtr^, SizeofResource(HInstance, HResInfo));
    mStream.Seek(0, 0);
    {Create the TBitmap and load the image from the MemoryStream}
    Bmp := TBitmap.Create;
    try
      Bmp.LoadFromStream(mStream);
      Bmp.SaveToFile(sDestFileName);
    finally
      Bmp.Free;
    end;
  finally
    FreeResource(MemHandle);
    mStream.Free;
  end;
end;

{How to use:
GetBitmapFromResource('BITMAP_1', 'C:\img.bmp');
}


Related Delphi Source Code:
Delphi Tricks
Delphi Tricks
For any problems or recommendations about Delphi Tricks site, please

feel free to contact us on that e-mail: support@delphitricks.com.
If you want to advertise on the site use that e-mail: advertise@delphitricks.com.

You can freely use or modify these Delphi source codes for non-commercial use. We are not responsible of any damages that can be caused by the utilisation of that source codes.

Copyright © 2006-2010 AVSoftware Company. All rights reserved.
Hide IP tricks