Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

Загрузка изображений из ресурсов   Найти похожие ветки 

 
Supra   (2003-07-13 23:12) [0]

Допустим есть ресурсы BMP в exe файле. Как можно загружать каждый из них по мере надобности в своей програме и выводить скажем на компоненте Image?


 
Marser ©   (2003-07-14 00:52) [1]

procedure LoadBMPfromEXE;
const RID:integer=1;//Индекс рисунка в ресурсе
var MyBMP:TBitmap;
RStream:TResourceStream;
begin
MyBMP:=TBitMap.Create;
ResStream:=nil;
try
RStream := TResourceStream.CreateFromID(HInstance,RID,RT_BITMAP);
MyBMP.LoadFromStream(RStream);
Image1.Picture.BitMap:=MyBMP;
finally
RStream.Free
end;


 
Dimaxx ©   (2003-07-14 01:04) [2]

Слишком длинно. А на что тогда есть у TBitmap следующее:

procedure LoadFromResourceID(Instance: THandle; ResID: Integer);
procedure LoadFromResourceName(Instance: THandle; const ResName: string);


 
Marser ©   (2003-07-14 01:06) [3]

Можно и так :-)


 
Юрий Зотов ©   (2003-07-14 01:17) [4]

И имеем целую кучу лишнего, а также утечку памяти.

А вот так будет проще и без утечек:
Image1.Picture.BitMap.LoadFromResourceID(HInstance, ResID)

Или:
Image1.Picture.Bitmap.LoadFromResourceName(HInstance, "MyBMP")


 
Marser ©   (2003-07-14 01:23) [5]


> Юрий Зотов ©

Просто написал первое, что вспомнил :-)


 
Юрий Зотов ©   (2003-07-14 01:31) [6]

Бывает. Я сделал иначе - запустил Delphi и посмотрел исходники VCL. Интересовала реализация TPicture.GetBitMap. После взгляда на TPicture.ForceType все стало ясно.


 
Supra   (2003-07-14 03:52) [7]

Всем:

В функции LoadFromResourceID в качестве HInstance что указывать?


 
Семен Сорокин ©   (2003-07-14 08:47) [8]

Supra (14.07.03 03:52)
указывай HInstance - Handle приложения :)



Страницы: 1 вся ветка

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
14-78124
Chieftain
2003-07-08 11:15
2003.07.24
Выживание человечества в следующие 20 лет


6-78017
Гришка
2003-05-17 19:50
2003.07.24
Скачивание файла с помощью Indy


14-78042
MetalFan
2003-07-09 10:44
2003.07.24
название Delphi


1-77992
Вован
2003-07-10 18:09
2003.07.24
Как зделать форму которая всегда находится на заднем плане?


8-78014
- Tsatur -
2003-03-26 23:19
2003.07.24
CD-DA -> WAV