Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4

Модерирует : ShIvADeSt

ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

ymg2000



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Как поместить JPEG-картинку в exe-файл и потом загрузить ее?
 
 
1)Создайте текстовый файл с расширением ".rc".Имя этого файла должно отличаться  
от имени файла - пректа или любого модуля проекта.  
Файл должен содержать строку вроде: MYJPEG JPEG C: \DownLoad\MY.JPG  
где:  
"MYJPEG" имя ресурса  
"JPEG" пользовательский тип ресурса  
"C: \DownLoad\MY.JPG" руть к JPEG файлу.  
 
Пусть например rc - файл называется "foo.rc"  
 
Запустите BRCC32.exe(Borland Resource CommandLine Compiler) - программа находится  
в каталоге Bin Delphi / C + +Builder'а - передав ей в качестве параметра полный путь  
к rc - файлу.  
В нашем примере:  
 
C: \DelphiPath\BIN\BRCC32.EXE C: \ProjectPath\FOO.RC  
Вы получите откомпилированный ресурс - файл с расширением ".res".  
(в нашем случает foo.res).  
Далее добавте ресурс к своему приложению.  
 
{Грузим ресурс}  
{$R FOO.RES}  
 
uses Jpeg;  
 
procedure LoadJPEGFromRes(TheJPEG: string; ThePicture: TPicture);  
var  
  ResHandle: THandle;  
  MemHandle: THandle;  
  MemStream: TMemoryStream;  
  ResPtr: PByte;  
  ResSize: Longint;  
  JPEGImage: TJPEGImage;  
begin  
  ResHandle := FindResource(hInstance, PChar(TheJPEG), 'JPEG');  
  MemHandle := LoadResource(hInstance, ResHandle);  
  ResPtr := LockResource(MemHandle);  
  MemStream := TMemoryStream.Create;  
  JPEGImage := TJPEGImage.Create;  
  ResSize := SizeOfResource(hInstance, ResHandle);  
  MemStream.SetSize(ResSize);  
  MemStream.Write(ResPtr^, ResSize);  
  FreeResource(MemHandle);  
  MemStream.Seek(0, 0);  
  JPEGImage.LoadFromStream(MemStream);  
  ThePicture.Assign(JPEGImage);  
  JPEGImage.Free;  
  MemStream.Free;  
end;  
 
procedure TForm1.Button1Click(Sender: TObject);  
begin  
  LoadJPEGFromRes('MYJPEG', Image1.Picture);  
end;  

Всего записей: 2391 | Зарегистр. 24-08-2007 | Отправлено: 10:03 25-04-2008
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (все версии) - часть 4
ShIvADeSt (28-06-2009 02:10): Продолжение в http://forum.ru-board.com/topic.cgi?forum=33&topic=10477


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru