Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Как засунуть .bmp внутрь .exe шника?   Найти похожие ветки 

 
Игорь Н.   (2004-07-21 09:56) [0]

Ув. мастера, понимаю, что вопрос затёртый, но нигде не могу найти ответа на вопрос "Как засунуть .bmp внутрь исполняемого файла, а в программе присвоить эту картинку из ресурса переменной pic"


 
Jeer ©   (2004-07-21 10:09) [1]

TImage, например, никто не отменял.


 
DimKa ©   (2004-07-21 10:21) [2]

Добавление к предыдущему ответу:
Кидаешь TImage на форму,
в Object Inspector находишь свойство Picture,
в поле ввода нажимаешь ... и выбираешь картинку.
При компиляции она попадает в exe-шник.


 
Игорь Н.   (2004-07-21 10:32) [3]

НЕ ТО. Мне нужно именно в ресурс загрузить bmp
ПОТОМУ ЧТО:
1. Я програмирую на KOL и не использую TImage
2. Мне не нужно размещать картинку на форме мне нужно поместить её в переменную (чтобы потом вставить в чужом окне)

Так никто не знает, как разместить .bmp в ресурсе, а потом присвоить ентот bmp переменной...


 
VMcL ©   (2004-07-21 10:46) [4]

>>Игорь Н.  (21.07.04 09:56)

Пишешь RC-файл:

// MySuperResource.rc
MYBITMAP    BITMAP LOADONCALL DISCARDABLE файл


В программе:
TBitmap.LoadFromResource({имя ресурса: "MYBITMAP"});

Если не хочешь использовать TBitmap, тогда см. исходники TBitmap.LoadFromResource() и сделай аналогично.


 
Игорь Н.   (2004-07-21 11:13) [5]

Пишет "Undeclared identifier LoadFromResource" И что подразумевается под именем ресурса.

Так? TBitmap.LoadFromResource({$R MySuperResource.res"MYBITMAP"});?

P.S. Я программирую на KOL и MCK


 
DimKa ©   (2004-07-21 11:14) [6]


> P.S. Я программирую на KOL и MCK

Дык туда и пиши


 
VMcL ©   (2004-07-21 12:31) [7]

>>Игорь Н.  (21.07.04 11:13) [5]

Имя ресурса ты указываешь в .rc-файле. В приведенном мной примере это "MYBITMAP". TBitmap + F1 - у меня Delphi в офисе нет, поэтому я мог ошибиться с названием метода.


 
grom   (2004-07-21 17:36) [8]

посмотри этот пример и аналогично зделай c BITMAP
http://my.samara.ru/~delphi/rubric/
28.03.2004 Звук из ресурса(+Пример)


 
Игорь Н.   (2004-07-22 10:40) [9]

DimKa, вопрос то по мультимедиа, а не по особеностям KOL программирования.

grom, Не то! Мне нужен метод загрузки bitmap из ресурса навроде того, что предложил VMcL - LoadFromResource, если бы он еще работал...


 
Игорь Н.   (2004-07-22 11:15) [10]

Пишу: pic.LoadFromResourceName(HInstance,"MAINPIC");
Компилируется без ошибок, запускаю exe"шник - ошибка: "Иструкция по адрессу 0x00000 обратилась к памяти по адресу 0x000000. Память не может быть read"

В image.rc писал MAINPIC BITMAP LOADONCALL DISCARDABLE 1.bmp

Где косяк?


 
VMcL ©   (2004-07-22 11:17) [11]

>>Игорь Н.  (22.07.04 11:15) [10]

Что такое `pic`?


 
parovoZZ ©   (2004-07-22 13:04) [12]

А через *.Res файл не пробовали?


 
Игорь Н.   (2004-07-22 18:46) [13]

pic - это Tbitmap

Я как раз и делаю через res.
1. Пишу image.rc
2. Создаю image.res
3. В программе пишу {$R image.res}
4. pic.LoadFromResourceName(HInstance,"MAINPIC");

Так где нынче суть? Почему не работает?


 
Reindeer Moss Eater ©   (2004-07-22 19:19) [14]

Так где нынче суть? Почему не работает?
Getlasterror знает почему не работает.


 
Огромное Кулясищще ©   (2004-07-22 20:52) [15]

Варианты действий:

1. Вместо MAINPIC BITMAP LOADONCALL DISCARDABLE 1.bmp напиши MAINPIC BITMAP 1.bmp

2. Убедись, что pic := TBitmap.Create имеется.

3. Почитай http://blackman.wp-club.net/lection/resurs.php


 
grom   (2004-07-22 22:08) [16]

В image.rc я бы написал так
MAINPIC BITMAP "1.BMP"


 
parovoZZ ©   (2004-07-22 23:04) [17]

А проще всего с помощью Resource Workshop. Особых проблем не было.


 
Огромное Кулясищще ©   (2004-07-22 23:18) [18]


> А проще всего с помощью Resource Workshop. Особых проблем
> не было.


Так тут человек ещё и загрузить не может. Достаточно посмотреть на Игорь Н. (21.07.04 11:13) [5] и приведённый код.


 
Игорь Н.   (2004-07-23 08:58) [19]

Это всё из-за KOL. Пишу обычный VCL проект pic:=Tbitmap.Create;
pic.LoadFromResourceName(HInstance, "MAINPIC");
image1.Picture.Bitmap:=pic;

- Всё работает. Делаю тоже самое на KOL - Останавливает на строке
pic:=Tbitmap.Create; Пишет this form or method can only allowed in methods of derived types.

Я думаю, что это из-за модулей. В каком модуле находится процедура Tbitmap.create?


 
VMcL ©   (2004-07-23 10:16) [20]

>>Игорь Н.  (23.07.04 08:58) [19]

uses ..., Graphics;

если будет все равно ругаться на TBitmap, значит нужно явно указать с какого модуля нужно использовать идентификатор:
var
 pic: Graphics.TBitmap;
//...
pic := Graphics.TBitmap.Create;



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

Форум: "Media";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.037 c
3-1095388041
Medik
2004-09-17 06:27
2004.10.17
ADO и BDE


14-1095841078
Unknown_User
2004-09-22 12:17
2004.10.17
Поймали, что делать??


1-1096884755
Malefic
2004-10-04 14:12
2004.10.17
Power Draw Примеры


14-1096254807
Soft
2004-09-27 07:13
2004.10.17
Лохотрон форева: Антенный Усилитель


1-1096802636
sdw_syscoder
2004-10-03 15:23
2004.10.17
TListView и TTreeView - виндовс испортил





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский