|
#1
|
|||
|
|||
Файл ресурсов
Здравствуйте
Есть необходимость совместить exe файл программы с файлом ресурсов, НО - стандартная программа не позволяет добавлять картинки с количеством цветов больше 256, что очень таки не приятно (но способ работает) - нестандартная программа, которую я нашел в интернете, добавляет все что угодно в файл ресурсов, но возникла проблема с тем, как обращаться к картинкам из данного файла ресурса. При необходимости могу скинуть программу. Как мне лучше поступить в данной ситуации ? |
#2
|
||||
|
||||
Собрать файл ресурса самому. В папке Bin каталога Delphi лежит компилятор ресурсов BRCC32.exe, нужно лишь создать текстовый файл IMG.RC c примерно таким содержанием
Код:
IMG1 JPEG C:\FOTO\имя файла.JPG затем через cmd.ехе нужно выполнить "BRCC32.EXE C:\IMG.RC", в результате появится сабжевый img.res. Подключается он в программе директивой Код:
{$R IMG.RES} Код:
uses Jpeg; procedure TForm1.Button1Click(Sender: TObject); var ResHnd, MemHnd: THandle; MemStream: TMemoryStream; ResPtr: PByte; ResSize: Longint; JPEGImage: TJPEGImage; begin ResHnd:= FindResource(hInstance, 'IMG1', 'JPEG'); MemHnd:= LoadResource(hInstance, ResHnd); ResPtr:= LockResource(MemHnd); MemStream:= TMemoryStream.Create; JPEGImage:= TJPEGImage.Create; ResSize:= SizeOfResource(hInstance, ResHnd); MemStream.SetSize(ResSize); MemStream.Write(ResPtr^, ResSize); FreeResource(MemHnd); MemStream.Seek(0, 0); JPEGImage.LoadFromStream(MemStream); Image1.Picture.Assign(JPEGImage); JPEGImage.Free; MemStream.Free; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#4
|
||||
|
||||
да, в ресурсах может быть что угодно и уж количество бит на пиксель изображений тем более.
чтобы не заморачиваться с компилятором ресурсов brcc32.exe, файлы .rc можно добавить в сам проект через Project - Add to project, либо руками в .dpr: Код:
{$R 'AboutDialog.res' 'AboutDialog.rc'} Пишу программы за еду. __________________ |
Эти 2 пользователя(ей) сказали Спасибо NumLock за это полезное сообщение: | ||
Alegun (22.05.2013),
M.A.D.M.A.N. (22.05.2013)
|
#5
|
||||
|
||||
Ну или просто Restorator юзать
|