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

Вниз

Создать файл с картинками......   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
3-44074
T{}r(l-l
2003-03-25 17:33
2003.04.14
Проблемы с 7.0, DTS


1-44257
pifpaf
2003-04-02 13:59
2003.04.14
Как в WinXP заставить перерисовываться содержимое окна?


8-44284
Lnstr
2003-01-10 14:21
2003.04.14
Надо несколько AVI через 1 TMediaPlayer вывести без пауз


14-44384
copyr25
2003-03-26 18:20
2003.04.14
Сегодня по НТВ в 18:04, в новостях передали, что отныне


6-44306
ev
2003-02-20 16:26
2003.04.14
snmp