FAV |
Отправлено: 05.11.2004, 15:29 |
|
Не зарегистрирован
|
Люди!
Как из ресурсов программы ВО ВРЕМЯ ЕЁ РАБОТЫ можно вынуть JPEG картинку и вставить её в Image?
Borland C++ Bilder 6 позволяет сделать это только ДО запуска программы.
Но ведь Image понимает JPEG формат!!!
Пытался сделать через Image1->Picture->Bitmap / Graphic.
Результат: при запуске проги знакомое до боли сообщение: "Access Violation... in module 'rtl60.bpl'..."
При создании RES файла использовал следующую конструкцию rc файла:
" Pic JPG cacaya-to_cartinca.jpg " (без кавычек, естественно). |
|
Rius |
Отправлено: 05.11.2004, 16:05 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
Вот инфа из широкораспространенного FAQ'а, может поможет
QUOTE |
>Q48. Как засунуть в pесуpсы файлы jpeg?
A(AP):
1) Засовываем Jpeg в res-файл.
В файле MyJpeg.rc пишем:
MyJPEG RCDATA "MyCoolJPEG.jpg"
И натравливаем на это дело brcc32 -- brcc32 MyJpeg.rc
Для полного счастья осталось написать в нашем модуле что-то в духе
#pragma resource "MyJPEG.res"
2) Загружаем Jpeg из ресурсов
Hапример, в *.h файле определяем у нашей формы в секции private (к примеру)
переменную
TJPEGImage *MyJPEG;
Естественно, где-то вверху есть #include
Далее, в конструкторе формы пишем:
(Собственно, тут два варианта; гурманы могут извращатсья с FindResource,
LoadResource и в качестве заключительного аккорда -- LockResource; а мы
пойдем... нет-нет, всего лишь другим путем.)
MyJPEG = new TJPEGImage();
TResourceStream *JPEGRes = new
TResourceStream((int)HInstance,AnsiString("MyJPEG"),RT_RCDATA);
MyJPEG->LoadFromStream(JPEGRes);
JPEGRes->Free();
3) Осталось дело за малым -- использовать этот самый Jpeg:
В каком-нибудь OnPaint у PaintBox'а написать:
((TPaintBox*)Sender)->Canvas->Draw(0, 0, MyJPEG);
|
|
|
FAV |
Отправлено: 12.11.2004, 11:56 |
|
Не зарегистрирован
|
Спасибо, Rius!!! В Image это рабоатет тоже. |
|
hell_admin |
Отправлено: 13.11.2004, 01:18 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 8
|
А как несколько JPEG'oв в ресурсный файл сунуть, т.e. чего поменять надо в действиях??? |
|
Rius |
Отправлено: 13.11.2004, 17:18 |
|
Мастер участка
Группа: Участник
Сообщений: 321
|
MyJPEG1 RCDATA "MyCoolJPEG1.jpg"
MyJPEG2 RCDATA "MyCoolJPEG2.jpg"
MyJPEG3 RCDATA "MyCoolJPEG3.jpg"
|
|