![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в glscene e грузить текстуры из ресурсов ? [Delphi, 5, Windows, РњР•]
Кен © (2003-01-23 02:00:00)Sphere1.Material.Texture.Image := ??? ;
Можно конечно создать специальный Sphere12345 в который загрузить текстуру, а потом cделать
Sphere1.Material.Texture.Image := Sphere12345.Material.Texture.Image;
Но такой способ почему то притормаживает. Да и с файлом ресурсов намного удобнее работать.
MRB_SPB (2003-01-23 10:23:00) [1]Вообще это делается так а GLScene сам прикрути
var ResStream : TResourceStream;
ResStream := TResourceStream.Create(hInstance,
PChar(copy(Filename, 1, Pos(".", Filename)-1)), "BMP");
ResStream.ReadBuffer(FileHeader,
SizeOf(FileHeader));
ResStream.ReadBuffer(InfoHeader,
SizeOf(InfoHeader));
PaletteLength := InfoHeader.biClrUsed;
SetLength(Palette, PaletteLength);
ResStream.ReadBuffer(Palette, PaletteLength);
Width := InfoHeader.biWidth;
Height := InfoHeader.biHeight;
BitmapLength := InfoHeader.biSizeImage;
if BitmapLength = 0 then
BitmapLength := Width * Height *
InfoHeader.biBitCount Div 8;
GetMem(pData, BitmapLength);
ResStream.ReadBuffer(pData^, BitmapLength);
ResStream.Free;
и.т.п это для BMP для остальных те же яйца только вид сбоку.
Например
ResStream := TResourceStream.Create(hInstance, PChar(copy(Filename, 1, Pos(".", Filename)-1)), "JPEG");
JPG.LoadFromStream(ResStream);
ResStream.Free;