Mirror

Include a JPEG in your EXE file (Views: 711)


Problem/Question/Abstract:

Include a JPEG in your EXE file

Answer:

Create a resource script file MyPic.RC with Notepad and add the following line:

1  RCDATA  "Pic.jpg"

Then use Borland's Resource Compiler BRCC32.EXE (a commandline tool) to compile it into a .RES file:

BRCC32 MyPic.RC

Add a compiler directive to the source code of your program. It should immediately follow the form directive, as shown here:

{$R *.DFM}
{$R MyPic.RES}


Use the following code in your application:


procedure LoadJPEGfromEXE;
var
  MyJPG: TJPEGImage; // JPEG object
  ResStream: TResourceStream; // Resource Stream object
begin
  try
    MyJPG := TJPEGImage.Create;
    ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
    MyJPG.LoadFromStream(ResStream); // What!? Yes, that easy!
    Canvas.Draw(12, 12, MyJPG); // draw it to see if it really worked!
  finally
    MyJPG.Free;
    ResStream.Free;
  end;
end; // procedure

<< Back to main page