Форум: "Потрепаться";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
ВнизСоздать файл с картинками...... Найти похожие ветки
← →
hatchy (2003-03-21 14:23) [0]Как создать файл с картинками, а потом из него грузить эти самые картинки?
← →
Дмитрий К.К. (2003-03-21 15:06) [1]Элементарная БД.
← →
Reindeer Moss Eater (2003-03-21 15:21) [2]Элементарная DLL
← →
Vint (2003-03-21 15:23) [3]Элементарный *.res
← →
Clickmaker (2003-03-21 15:28) [4]Элементарный *.rc, из которого получается элементарный *.res, который вставляется в элементарную DLL, из которых делается элементарная БД
← →
Style (2003-03-21 15:40) [5]Элементарный SwapTable by Style ;)
www.sands.nm.ru/swaptable.zip
тока картинки должны иметь одинаковый размер или несколько модифицировать код :)
← →
Alexander Vasjuk (2003-03-21 15:51) [6]Элементарный ZIP, примитивный файл последовательного доступа, вульгарный ресурс в ЕХЕшнике.
← →
hatchy (2003-03-22 07:23) [7]Если это все так элементарно... расскажите ход действий чтобы создать такой файл..пожалуйста
← →
Николай Быков (2003-03-22 07:42) [8]FAQ
← →
Anatoly Podgoretsky (2003-03-22 08:01) [9]Элементарный Copy из командной строки
← →
hatchy (2003-03-22 08:12) [10]Неужели это так секретно?
← →
MBo (2003-03-22 08:21) [11]ImageList устроит?
← →
hatchy (2003-03-22 08:27) [12]а потом из него картинки грузить?
← →
hatchy (2003-03-22 08:52) [13]Проблема в том, что у меня jpeg в основном а имаджелист jpeg не грузит токо ico и bmp........
← →
k2 (2003-03-22 09:59) [14]http://www.delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988625327&n=21
Если отдельно в длл, то вместо HInstance использовать hResLib:HMODULE; возвращаемый при загрузке библиотеки LoadLibraryEx.
← →
blackman (2003-03-22 10:03) [15]Все элементарно, но ...
Вот экзотика:
"Как сделать DLL и потом из него каpтинки гpузить":
http://blackman.wp-club.net/myfaq/faq4a.php#anc77
← →
hatchy (2003-03-22 10:43) [16]http://blackman.wp-club.net/myfaq/faq4a.php#anc77
Здесь написано: Создаёшь тексотвый файл с расширением .RC и записываешь в него строки......
Как создать текстовый файл с расширением .Rc ?????
← →
k2 (2003-03-22 11:28) [17]приехали :)
to blackman
faq"у срочно требуется расширка и углубка :) пошто не отразили такой важный момент с созданием *.rc :)
← →
Anatoly Podgoretsky (2003-03-22 11:35) [18]hatchy © (22.03.03 10:43)
С помощью текстового редактора, любого!
← →
KPY (2003-03-22 11:36) [19]Шаг первый:
Создайте файл сценария ресурса (*.RC) в обычном текстовом редакторе типа Notepad и добавьте следующую строку:
--------------------------------------------------------------------------------
1 RCDATA "MyPic.jpg"
--------------------------------------------------------------------------------
Первый элемент является просто индексом ресурса. Второй элемент указывает на определенный пользователем ресурс. Третий, он же последний элемент, является именем jpeg-файла.
Шаг второй:
Для компиляции ресурса в .RES-файл используйте Borland Resource Compiler, BRCC32.EXE. В командной строке MS-DOS введите:
--------------------------------------------------------------------------------
BRCC32 MyPic.RC
--------------------------------------------------------------------------------
Это создаст файл ресурса с именем MyPic.RES.
Шаг третий:
Добавьте директиву компилятора к исходному коду вашей программы. Она должна располагаться непосредственно за директивой формы, как показано ниже:
--------------------------------------------------------------------------------
{$R *.DFM}
{$R MyPic.RES}
Шаг четвертый:
Добавьте следующий код к вашему проекту (для этого я создал процедуру):
--------------------------------------------------------------------------------
procedure LoadJPEGfromEXE;
var
MyJPG : TJPEGImage; // Объект - JPEG
ResStream : TResourceStream; // Объект - поток ресурсов
begin
try
MyJPG := TJPEGImage.Create;
ResStream := TResourceStream.CreateFromID(HInstance, 1, RT_RCDATA);
MyJPG.LoadFromStream(ResStream); // Что!? Да, это просто!
Canvas.Draw(12,12,MyJPG); // сделайте это, чтобы увидеть что это действительно работает!
finally
MyJPG.Free;
ResStream.Free;
end;
end; // procedure
Обратили внимание на второй параметр процедуры CreateFromID объекта TResourceStream? Это просто индекс ресурса. Вы можете включить более одного jpeg-изображения в исполняемый модуль приложения, просто добавляя в .RC-файл строчку с другим индексом для каждого включаемого изображения.
Шаг пятый:
Вызовите процедуру, запустите программу и вуаля! Дело сделано
← →
k2 (2003-03-22 11:56) [20]to KPY
В шаге пятом ошибка :) в оригинале пирожок :))
← →
blackman (2003-03-22 13:43) [21]Сначала были шутки, потом ошибки...
Слабо полный код привести ?
← →
blackman (2003-03-22 15:06) [22]Вот на похожая тема (интересен ответ):
КАК мне сохранить изображение активного окна в bmp?
http://blackman.wp-club.net/forums/index.php?act=ST&f=1&t=14&s=6d74e5c19cc0bf05355ecad7785c5241
← →
kaif (2003-03-22 15:41) [23]Вот тут все такие крутые...
А у меня программа содержала более 500 маленьких картинок, в основном 25x25 16 цветов (размер пиктограммки компонента VCL для палитры). Это связано с тем, что я использую скриптовую систему Dream Controls в своей конфигурируемой бухгалтерии.
Так вот. В какой-то момент выяснилось, что под 98 программа не запускается. А под 2000 и XP прекрасно работает.
Эксперименты показали, что при увеличении числа картинок, включаемых в exe-файл с помощью {$R *.res} более 450, в
Windows 98 перестают отображаться Image-и в каких-то ListView. А при увеличении кол-ва картинок до 600 программа просто отказывается стартовать. Сообщение Windows "недостаточно памяти для запуска приложения.Закройте что-нибудь". Хотя, понятно, дело не в памяти (уж как-нибудь 100K влезут в мои 256M RAM), а именно в Handle-ах каких-то ресурсов GUI.
Пришлось оттранслировать половину (300) картинок в отдельную dll, которая ничего, кроме текстов вроде
{$R *.res}
не содержала.
Затем при старте программы я залезал в DLL наподобие того, как это делает пример ResExplore из Demo Delphi, строить в StringList список имен ресурсов, а затем runtime их грузить по мере надобности. Только так я смог обеспечить совместимость программы с W98.
Что касается ImageList + ListView, то они вообще не удерживают более 200 картинок в ImageList, так что мне однажды пришлось все это хранить в MemoryStream и рисовать битмапы на канве руками. И это в NT4 было.
← →
zzet (2003-03-22 15:53) [24]>Шаг первый:
>Создайте файл сценария ресурса (*.RC) в обычном текстовом >редакторе типа Notepad и добавьте следующую строку:
Шаг самый первый:
Нажмите кнопку "Пуск", выберите "Программы" - "Стандартные" и запустите Блокнот.
← →
hatchy (2003-03-27 08:37) [25]Запустил блокнот нахожусь в нем что дальше? какой ход действия сохранения?
← →
hatchy (2003-03-27 09:12) [26]как сохранить?
← →
hatchy (2003-03-27 09:45) [27]Никто незнает что ли?
← →
Anatoly Podgoretsky (2003-03-27 10:01) [28]hatchy © (27.03.03 09:12)
Пункт меню "Сохранить", просто остальным стыдно отвечать на этот вопрос "Как сохранить"
← →
zzet (2003-03-27 10:01) [29]>Запустил блокнот нахожусь в нем что дальше? какой ход действия сохранения?
;-) У тебя приколы такие?
Закрой блокнот, на вопрос "сохранить изменемия в Безымянный.txt?" ответь "Да". Потом запусти Проводник и переименуй Безымянный.txt в myresurs.rc
Тебе наверное проще будет попросить у кого-нить готовый рес-файл. ;-)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.04.14;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.008 c