Подключение ресурса JPEG в *.exe файл
Создаем раздел 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) при помощи Блокнота, куда запишите следующее:
1000 RCDATA "Example.jpg"
2. Затем, при помощи компилятора ресурсов BRCC32.EXE (при помощи командной строки), скомпилируйте файл скрипта ресурсов в файл ресурсов .RES
BRCC32.EXE MyJpeg.rc
3. Добавьте директиву компилятора в исходный код программы. Он должен быть непосредственно после директивы формы:
{$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;
Комментарии