Карта сайтаСсылкиКонтакты

Подключение ресурса JPEG в *.exe файл

PDF Печать
Статьи

Для включения JPEG как ресурса в exe файл, необходима конструкция {$R MyRes.RES}. Для извлечения ресурса необходимо создать объект типа TResourceStream и загружать JPEG процедурой LoadFromStream.

Создаем раздел HELP в файле ресурсов, который будет содержать JPEG файл.


{$R MyRes.RES}

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
  MyRS: TResourceStream;
begin
  try
    MyRS:=TResourceStream.Create(HInstance, 'HELP', RT_RCDATA);
    Image1.Picture.LoadFromFile('example.jpg');
    if Image1.Picture.Graphic is TJPEGImage then
      TJPEGImage(Image1.Picture.Graphic).LoadFromStream(MyRS);
  finally
    MyRS.Free;
  end;
end;

Дополнение:

  1. Создайте файл скрипта файла ресурсов (MyJpeg.rc) при помощи Блокнота, куда запишите следующее:
  2. 
    1000 RCDATA "Example.jpg"
    
  3. Затем, при помощи компилятора ресурсов BRCC32.EXE (при помощи командной строки), скомпилируйте файл скрипта ресурсов в файл ресурсов .RES
  4. 
    BRCC32.EXE MyJpeg.rc
    
  5. Добавьте директиву компилятора в исходный код программы. Он должен быть непосредственно после директивы формы:
  6. 
    {$R *.DFM}
    {$R MyJpec.res}
    

Используйте следующий код в Вашем приложении:


uses
  { ... }, JPEG;

procedure LoadPictureEXE;
var
  Pic : TJPEGImage;
  rs : TResourceStream;
begin
  try
    Pic := TJPEGImage.Create; 
    rs := TResourceStream.CreateFromID(HInstance, 1000, RT_RCDATA);
    Pic.LoadFromStream(rs);
    Form1.Canvas.Draw(0, 0, Pic); // Рисуем JPEG на канвасе формы для примера
  finally
    Pic.Free; // освобождаем ресурсы
    rs.Free; // то же
  end;
end;

 

Добавить комментарий


Защитный код
Обновить