Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > Хранение картинок, сжатие изображений


Автор: R.M. 8.11.2006, 16:40
Здравствуйте, на сколько я знаю в xml как-то можно хранить код изображений и потом из этого кода обратно получать изображение. Подскажите пожалуйста правильно ли я понял это и уменьшается ли при это объём изображения и уменьшится ли он ещё, если запаковать этот xml-файл?

Автор: maxim1000 8.11.2006, 16:49
нет, объём файла увеличивается, т.к. байты в xml-документе не могут принимать все 256 значений

ну а если запаковать его чем-нибудь, то зависит от алгоритма сжатия и способа записи байт изображения в xml - подобное искажение может помешать сжатию, а может и нет...

Добавлено @ 16:50 
но в любом случае с точки зрения размера сжать картинку просто так лучше, чем записать её в xml (неважно, каким способом), а потом сжать его...

Добавлено @ 16:50 
(точнее, не хуже)

Автор: R.M. 8.11.2006, 18:41
Просто требуется передать программе-клиенту некий XML и картинки, вот я и хотел узнать что лучше, отдавать картинку отдельно либо помещать в xml. Но трафик очень важен. Спасибо за разъяснение, будем отдавать в чистом виде smile

Автор: Exception 8.11.2006, 20:02
R.M., кажется, я догадываюсь, о каком проекте идёт речь smile .

Я вот думаю - PHP умеет превратить картинку в base64-строку? Все приложения обычно делают именно так.

Автор: sergejzr 8.11.2006, 20:06
http://forum.vingrad.ru/topic-111011/unread-1/hl/base64/index.html

Добавлено @ 20:08 
Я бы отдельно передавал. Вернее не передавал бы вообще, а только указывал, где лежат smile

Автор: Exception 8.11.2006, 20:12
Обнаружил доку о некой функции http://php.mirror.camelnetwork.com/manual/ru/function.xmlrpc-set-type.php, устанавливающей формат строки в base64:

Код
xmlrpc_set_type(&$имя_строки_с_содержимым_картинки, "base64"); 


Потом просто вставляешь эту строку в результирующий XML.

Автор: Exception 8.11.2006, 21:01
Цитата(sergejzr @  8.11.2006,  21:06 Найти цитируемый пост)
Вернее не передавал бы вообще, а только указывал, где лежат


Только это тогда мне лишняя работа будет. Не пойдёт smile

Автор: R.M. 8.11.2006, 21:30
Цитата(sergejzr @  8.11.2006,  21:06 Найти цитируемый пост)
Вернее не передавал бы вообще, а только указывал, где лежат 

Мы бы тоже, да вот надо чтобы оффлайн просмотр был доступен.

Добавлено @ 21:31 
Exception, ок, забыли smile дык чтож качать все превьюхи? smile может на выбор просто давать с ними или без?

Автор: Exception 9.11.2006, 19:13
Цитата(R.M. @  8.11.2006,  22:30 Найти цитируемый пост)

Мы бы тоже, да вот надо чтобы оффлайн просмотр был доступен.


На самом деле никто не мешает кешировать енто. Да вот только проще прямо в XML их сунуть.

Они разве так много весят? Если на выбор - в XML их не сунешь.

Автор: R.M. 9.11.2006, 21:57
Я пока незнаю как сунуть картинку в XML, надо поворошить этот раздельлчик smile

Автор: LSD 9.11.2006, 23:06
Цитата(R.M. @  9.11.2006,  21:57 Найти цитируемый пост)
Я пока незнаю как сунуть картинку в XML, надо поворошить этот раздельлчик

Base64

Автор: sergejzr 9.11.2006, 23:28
Цитата(R.M. @  9.11.2006,  20:57 Найти цитируемый пост)
Я пока незнаю как сунуть картинку в XML, надо поворошить этот раздельлчик smile


Цитата(LSD @  9.11.2006,  22:06 Найти цитируемый пост)
Цитата(R.M. @  9.11.2006,  21:57 Найти цитируемый пост)
Я пока незнаю как сунуть картинку в XML, надо поворошить этот раздельлчик

Base64 


Я же в самом начале дал ссылку на тему http://forum.vingrad.ru/topic-111011/unread-1/hl/base64/index.html
Там и ссылки на ПХП - функции, которые правильно оборачивают картинку и разворачивают

Автор: Exception 11.11.2006, 16:13
Цитата(LSD @  10.11.2006,  00:06 Найти цитируемый пост)
Base64 


:[||||||||]:

Цитата(Exception @  8.11.2006,  21:02 Найти цитируемый пост)
Я вот думаю - PHP умеет превратить картинку в base64-строку? Все приложения обычно делают именно так. 


smile

Автор: LSD 11.11.2006, 16:52
Цитата(Exception @  11.11.2006,  16:13 Найти цитируемый пост)
:[||||||||]:

Это не боян, а повторяю еще раз.

Автор: Exception 11.11.2006, 17:02

Автор: R.M. 12.11.2006, 18:57
Всё, разобрался как перегонять картинку. всем спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)