Форум: "Основная";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
ВнизЗагрузка изображений из ресурсов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c