Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.012 c
14-44343
sid
2003-03-31 00:11
2003.04.14
Операции на Датой


6-44321
ррра45
2003-02-18 19:31
2003.04.14
Как использовать ф-цию bind?


14-44409
kostya2000
2003-03-26 15:44
2003.04.14
Постройте алгоритм:


14-44324
kaif
2003-03-26 10:21
2003.04.14
Директивы компилятору


1-44272
MaX1
2003-04-02 16:07
2003.04.14
Программа тестирования.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский