Как поместить JPEG в файл ресурсов и загрузить его
TESTJPEG JPEG C:\Projects\Proba.JPG
где:
- TESTJPEG - имя ресурса
- JPEG - пользовательский тип ресурса
C:\Projects\Proba.JPG
- путь к JPEG файлу.
Пусть например rc-файл называется MyRes.rc
Запустите BRCC32.exe (Borland Resource CommandLine Compiler) - программа находится в каталоге Bin Delphi/C++ Builder
- передав ей в качестве параметра полный путь к rc-файлу.
В нашем примере:
C:\DelphiPath\BIN\BRCC32.EXE C:\ProjectPath\MyRes.rc
Вы получите откомпилированный ресурс - файл с расширением .res. (в нашем случае MyRes.res
). Далее добавьте ресурс к своему приложению.
{$R MyRes.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('TESTJPEG', Image1.Picture); end;
Комментарии