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

Вниз

Сохранение картинок в 1 файл   Найти похожие ветки 

 
Voper   (2006-09-09 22:21) [0]

Здравствуйте, у меня возник такой вопрос: мне нужно сохранять много картинок размером примерно 105*105, которые хранятся в ImageList, попробывал сохранять их с помощью WriteComponentResFile, но слишком долго происходит сохранение, причем загрузка ЦП 100% и длится примерно минут 5 (500 картинок) а размер создаваемого файла 23 мегабайта. Собственно вопрос: Нет ли способа побыстрей сохранить все эти картинки в 1 файл. Заранее спасибо.


 
Vovan#1   (2006-09-09 22:41) [1]

Попробуй через TBitmap.SaveToStream.


 
SamBrook ©   (2006-09-10 11:24) [2]

Пишите в один tif файл с помощью функций GDI+


 
Voper   (2006-09-10 19:59) [3]


> Пишите в один tif файл с помощью функций GDI+

А функцию не подскажите?


 
Voper   (2006-09-12 00:08) [4]

А нет ли еще способов сохранения в 1 файл?


 
SamBrook ©   (2006-09-12 01:03) [5]


> А нет ли еще способов сохранения в 1 файл?

А чем так не устраивает? В справке лень ковыряться?

Можно все картинки выстроить в линию и сохранить в виде одной


 
angelnay   (2006-09-19 16:39) [6]

Есть - ответ:

Конвентер SFKart (*.spk,*.fps) - Упрощение программы Super Pixel Kart.
С помощью этой программы можно сохранить большое количество
картинок в один файл быстро и просто. (*.spk - качественный формат картинки, *.fps - сжатый формат картинки ). К тому и другому расширению - есть модуль для Delphi. Там класс TSPK и TFPS.

Если заинтересовал - напиши.


 
antonn ©   (2006-09-19 18:29) [7]

можно в стрим записывать все картинки, как уже говорилось в [1], при этом можно поджать их zlib"ом (скорость упадет, но зато ужмет)


 
Sambrook ©   (2006-09-19 19:45) [8]


> antonn ©   (19.09.06 18:29) [7]
> можно в стрим записывать все картинки, как уже говорилось
> в [1], при этом можно поджать их zlib"ом (скорость упадет,
>  но зато ужмет)

И получить очередной велосипед.
Tiff как раз и использует ZIP компрессию (опционально).

Да и потом - нафига писать в форматы, которые не один броузер не поймет?


 
antonn ©   (2006-09-20 10:12) [9]

Sambrook, разбираться с форматом tiff - это время, да еще куча кода в программе (или библиотека), свой формат - минимум кода. И открытость ресурсов автором не ставилась (можно такой вопрос, типа "Да и потом - нафига писать в форматы, которые не один броузер не поймет?" задать в соседней конференции справа, думаю, очень доходчиво расскажут:)).


 
antonn ©   (2006-09-20 10:13) [10]

и кстати - tiff бесплатен?


 
SamBrook ©   (2006-09-20 15:09) [11]


> antonn ©   (20.09.06 10:13) [10]
> и кстати - tiff бесплатен?

Безусловно. Платна  только одна разновидность, которая почти не используется.
А разбираться в формате совсем  не обязательно - достаточно прочитать один раздел справки по GDI+, что я и посоветовал автору в [2].

К доморощенным форматам имею стойкое отвращение, переходящее в ненависть.
Из за таких "изобретателей", не желающих вникнуть в существующие стандарты, приходится тратить массу времени на всякую х**ню вместо полезной работы.
Кстати, что Вы имели ввиду под веткой справа?


 
antonn ©   (2006-09-20 18:53) [12]

SamBrook ©   (20.09.06 15:09) [11]
GDI+ это библиотека, насколько я помню, в Win2k по 3го сервис пака включительно ее нет (не знаю, есть ли она в 4м). К этому стоит добавить, что лишняя библиотека, к которой "привязывается" программа (может я не прав, но я обычно стремлюсь к бОльшей самодостаточности программы).


> К доморощенным форматам имею стойкое отвращение,
>переходящее в ненависть.
> Из за таких "изобретателей", не желающих вникнуть в
> существующие стандарты, приходится тратить массу
> времени на всякую х**ню вместо полезной работы.

А зачем тратить время на ресурсы программы, которые предназначены только для самой программы? :) Наверное, что бы их сграбить:)


> Кстати, что Вы имели ввиду под веткой справа?

Конференцию "Игры" я имел введу, не зря же игроделы пакуют ресурсы - чтобы никто не достал, чтобы пользоваться ими как удобнее (свой формат - свои правила:))


 
Stexen ©   (2006-09-20 19:09) [13]

Не могу понять задачи расскажи поподробнее что нужно?То есть объеденить в один рисунок или просто в любой файл поочереди и все?


 
SamBrook ©   (2006-09-20 19:13) [14]


> GDI+ это библиотека, насколько я помню, в Win2k по 3го сервис
> пака включительно ее нет (не знаю, есть ли она в 4м). К
>

GDI+ входит в WinXP, для других ОС, начиная с Win98 есть бесплатный download c мелкомягкого сайта.


этому стоит добавить, что лишняя библиотека, к которой "привязывается"
> программа (может я не прав, но я обычно стремлюсь к бОльшей
> самодостаточности программы).

Неужели Ваши программы могут работать без kernel32.dll?   Снимаю шляпу :)


>  зачем тратить время на ресурсы программы, которые предназначены
> только для самой программы? :) Наверное, что бы их сграбить:
> )

Затем, что следует проявлять некую культуру программирования и уважение к коллегам по ремеслу, которым, возможно, придется сопровождать Ваш проект.
А сграбить рисунки можно и скриншотом.


 
SamBrook ©   (2006-09-20 19:22) [15]


> не зря же игроделы пакуют ресурсы - чтобы никто не достал,
>  чтобы пользоваться ими как удобнее (свой формат - свои
> правила:))

У игроделов своя индустрия и свои тараканы в голове, а у меня свои :)
Я уже нахлебался досыта ковырянием чужих форматов и чужих библиотек (причем не приватных а опубликованных в SDK).


 
antonn ©   (2006-09-20 19:31) [16]

SamBrook ©   (20.09.06 19:13) [14]
GDI+ входит в WinXP, для других ОС, начиная с Win98 есть бесплатный download c мелкомягкого сайта.

вот именно, что пользователю возможно нужно будет качать бесплатный download (около мегабайта), это уже неуважение к нему.
kernel32.dll есть везде, а gdiplus.dll есть не везде:)


> Затем, что следует проявлять некую культуру
> программирования и уважение к коллегам по ремеслу,
> которым, возможно, придется сопровождать Ваш проект.

ну если кто то его будет сопровождать, того ждут прокомментированные исходники.


> А сграбить рисунки можно и скриншотом.

с альфаканалом - не очень получится:)


 
SamBrook ©   (2006-09-20 19:35) [17]


> вот именно, что пользователю возможно нужно будет качать
> бесплатный download (около мегабайта), это уже неуважение к нему.

А разве дистрибутивы уже не в моде?


> ну если кто то его будет сопровождать, того ждут прокомментированные
> исходники

Эх, Вашими устами да мед бы пить...


 
antonn ©   (2006-09-20 19:39) [18]

SamBrook ©   (20.09.06 19:35) [17]
А разве дистрибутивы уже не в моде?

какие? таскать с собой 700Кб (заархивированная библиотека)?


> Эх, Вашими устами да мед бы пить...

ну дык, если это мой проект, отчего бы этот модуль и не прокомментировать? :)


 
SamBrook ©   (2006-09-20 19:43) [19]


> какие? таскать с собой 700Кб (заархивированная библиотека)?

Я имел в виду, что когда Вы делаете дистибутив своей программы, включаете в него gdiplus32.dll как shared library. Это гарантирует корректную инсталляцию и деинсталляцию на любой ОС.
Все известные мне install-maker с этой задачей справятся.


 
antonn ©   (2006-09-20 19:53) [20]

SamBrook ©   (20.09.06 19:43) [19]
вот я и говорю - это "лишние" 700Кб, для маловесных продуктов - роскошь:)


 
Voper   (2006-09-23 22:56) [21]

хм.... в общем я уже написал все все через стримы тоесть вручную все картинки в 1 файл.Пока все устраивает и скорость, да и размер уменьшился.



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

Текущий архив: 2007.06.03;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.073 c
15-1177077766
Juice
2007-04-20 18:02
2007.06.03
Есть ли в MS SQL табличные пространства ...


15-1178907173
Другой
2007-05-11 22:12
2007.06.03
Подскажите, пожалуйста, чей стих


2-1179383471
Anna
2007-05-17 10:31
2007.06.03
MessageDlg


2-1179122080
RomanLN
2007-05-14 09:54
2007.06.03
как объеденить ячейки в StringGrid???


15-1178545828
oldman
2007-05-07 17:50
2007.06.03
Никогда не давайте USB-флэшки в руки чайникам!