Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
14-78136
jel
2003-07-07 13:45
2003.07.24
Помогите найти файл


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


3-77773
mihmax
2003-06-19 16:00
2003.07.24
BDE не видит MS SQL


1-77906
Sasha82
2003-07-14 13:03
2003.07.24
Типа про скроллбар


1-77913
jjiura
2003-07-09 23:22
2003.07.24
Подскажите Grid?




   Наверх