|
|
|
|
Как
включить 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
|
|