Главная страница
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.023 c
1-77919
jiura1
2003-07-10 13:12
2003.07.24
А как работать в Grid-е со свойством ToplLeft?


1-77989
Кен
2003-07-09 07:54
2003.07.24
Как сделать такое же меню как в редакторе Дельфи выпадает, при


7-78175
Valeris
2003-05-14 13:22
2003.07.24
Добавление события в системный журнал событий


1-77872
Jumbo
2003-07-13 13:13
2003.07.24
Сортировка TListView


1-77892
lex7
2003-07-14 11:08
2003.07.24
А как зарегистрировать в компоненте новое сообщение?