Главная страница
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.018 c
14-78077
Knight
2003-07-07 22:12
2003.07.24
Какими звонилками пользуется?


9-77711
Antichacker
2003-02-02 16:14
2003.07.24
Можно ли вращать камеру вокруг своей оси? В demos camera нету


14-78091
1380
2003-07-08 10:02
2003.07.24
BDE Delphi


3-77748
rosl
2003-06-30 09:19
2003.07.24
column в DBGrid


3-77768
Kati
2003-07-02 10:06
2003.07.24
Все тот же Sql !