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

Вниз

Сохранение картинок в 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 вся ветка

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

Наверх





Память: 0.5 MB
Время: 0.043 c
3-1173856188
Lavrenty
2007-03-14 10:09
2007.06.03
XML-файл и DBGrid


15-1178222137
Иксик
2007-05-03 23:55
2007.06.03
Военные, особенно победные, песни в хорошем качестве


15-1178542230
Kerk
2007-05-07 16:50
2007.06.03
Словарь Зализняка


15-1178645617
Витян
2007-05-08 21:33
2007.06.03
Помогите, пожалуйста, найти ошибку в решении задачи!


11-1161253850
SergeR
2006-10-19 14:30
2007.06.03
Непонятки с условием If mouse.shift>0





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