На главную
Подписка
Новости


Рейтинг@Mail.ru











Главная / DELPHI / Часто задаваемые вопросы и ответы на них / Графика / Как включить JPG-файл внутрь exe-файла? Сделать домашней страницей Добавить в избранное Написать писмо

Как включить JPG-файл внутрь exe-файла?


Первое:

Нужно создать resource script file (*.RC) с помощью простого текстового файла (например блокнота), и вписать всего одну строку:

1 RCDATA "MyPic.jpg"

Единичка – это просто номер ресурса, RCDATA - определяет, что мы имеем дело с user-defined resource. Последнее – имя файла с JPG рисунком.

Второе:

Компилируем его в .RES файл, при помощи BRCC32.EXE. В MS-DOS набираем:

BRCC32 MyPic.RC

Это должно создать файл MyPic.RES.

Третье:

Добавляем директиву компилятор в исходный код нашей программы. Она должна следовать за директивой формы, как показано здесь:

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


Четвертое:

Добавляем следующую процедуру в программу:

procedure LoadJPEGfromEXE;

var
MyJPG : TJPEGImage; // JPEG
ResStream : TResourceStream; // Resource Stream

begin
MyJPG := TJPEGImage.Create;
ResStream := nil;
try
ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
MyJPG.LoadFromStream(ResStream); // ДА! Так просто :)
Canvas.Draw(12,12,MyJPG); // Нарисуем на Canvas, чтобы убедиться, что все работает!
finally
MyJPG.Free;
ResStream.Free;
end;
end; // procedure


Посмотрите на второй параметр процедуры CreateFromID объекта TresourceStream. Это просто индекс ресурса. Вы можете включить более, чем один jpeg в своей программе просто добавляя новую строчку для каждого jpeg (с другим индексом) в .RC файл.

Пятое:

Запускайте программу, и ура! Теперь можно взять с полки пирожок :)

Copyright ©   "Мастера DELPHI"   E-mail:   delphi@mastak.com  http://www.delphimaster.ru
Источник получения информации: http://www.delphimaster.ru
Hosted by uCoz