Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Рисунок из ресурса.   Найти похожие ветки 

 
X9   (2004-03-10 09:46) [0]

Уважаемые Мастера! Может ли кто-нибудь поделиться алгоритмом извлечения рисунка из ресурса. Как делаю я: создаю файл .rc, в нём указываю имя ресурса, его тип и имя исходного файла, например:

---------------------MyRes.rc--------------------
MYGIF GIF "Images\MyGif.gif"
-------------------------------------------------

Затем компилирую его brcc32.exe и полученный .res-файл подключаю в модуле:
--------------------Unit1.pas--------------------
.................................................
{$R MYRES.res}
.................................................
-------------------------------------------------

Потом в обработчике события TForm1.Button1Click пишу:

-------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var MS: PStream;
   Gif: TGifShow; {Компонент KolGif, скачанный с kol.mastak.ru}
begin
MS := NewMemoryStream;
Gif := NewGifShow(Form1.Form); {создаём KolGif динамически}
Resource2Stream(MS, hInstance, "MYGIF", "GIF");
Gif.LoadFromStream(MS);
Form1.Form.Canvas.Brush.BrushBitmap := Gif.Canvas.Brush.BrushBitmap;
//Gif.Show; {Тоже не помогает}
MS.Free;
end;
-------------------------------------------------

При нажатии на батон в TaskManager"е видно, что размер памяти, занимаемый программой, увеличивается примерно на размер ресурса (немного больше). Пробовал использовать KolGraphics (тоже с kol.mastak.ru) - эффект тот же. Кто нибудь может мне подсказать что я делаю не так и если можно, то прошу выложить кусок правильного кода. Plz!!!


 
<Falcon>   (2004-03-10 13:15) [1]

Во первых при создании ресурса:

---------------------MyRes.rc--------------------
MYGIF RCDATA "MyGif.gif"
-------------------------------------------------
Во вторых при использовании GifShow необязательно передавать ресурс через поток, можно загружать напрямую из ресурса (если не ошибаюсь через поток он все равно передается, это сделано в самом компоненте)

В третьих вместо всего кода что ты написал, используй:

GifShow1.LoadfromResource


 
X9   (2004-03-11 04:58) [2]

Спасибо, попробую.



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
14-1090507038
banderas
2004-07-22 18:37
2004.08.15
Delphi 8 ваши впечатления:..


3-1090516073
Wolfram
2004-07-22 21:07
2004.08.15
Изменение свойств memo в FastReport в runtime


1-1091199487
Studentik
2004-07-30 18:58
2004.08.15
Стиль XP в WinXP


1-1091019935
GrigP
2004-07-28 17:05
2004.08.15
При запуске проекта появляется окно CPU


14-1091181010
Mellon
2004-07-30 13:50
2004.08.15
Explorer - 100 % CPU почему Эксплорер время от времени