Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Склеивание файлов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Насколько уменьшается размер ?
Synov_son
Отправлено: 15 Апреля, 2014 - 17:59:56
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Доброго времени суток, подскажите, пожалуйста, насколько возможно уменьшение веса картинки при их склеивании.
Собираюсь объединять картинки вместе, но только если вес результата не превысит максимально разрешимый вес.
Правильно будет ли так ?
PHP:
скопировать код в буфер обмена
  1.  
  2. if((filesize($image1)+filesize($image2)) > $max_size){
  3. //склеиваем
  4. }
  5.  


П.С. - При склеивании буду: брать картинки - imagecreatefrompng, создавать новую - imagecreatetruecolor (с прозрачностью - imagesavealpha, imagecolorallocatealpha, imagefill), копировать картинки в новую - imagecopy.

Спасибо

(Отредактировано автором: 15 Апреля, 2014 - 18:08:17)

 
 Top
OrmaJever Модератор
Отправлено: 15 Апреля, 2014 - 18:09:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Synov_son пишет:
Правильно будет ли так ?

нет конечно, вы же не просто текст копируете. У каждого формата есть свои заголовки, системные байты и прочее, поэтому после склеивания 1кб и 1кб картинок в итоге будет меньше 2кб, на соклько это уже зависит от формата.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Synov_son
Отправлено: 15 Апреля, 2014 - 18:14:03
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




OrmaJever пишет:
после склеивания 1кб и 1кб картинок в итоге будет меньше 2кб


Ну я и рассчитываю на то что б меньше, но возможно ли что будет больше (при форматах jpg, jpeg, png, gif) ?

Просто думаю нету какого либо способа проверить на сколько уменьшиться размер

(Отредактировано автором: 15 Апреля, 2014 - 18:15:48)

 
 Top
Мелкий Супермодератор
Отправлено: 15 Апреля, 2014 - 18:58:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Synov_son пишет:
но возможно ли что будет больше (при форматах jpg, jpeg, png, gif) ?

Возможно.
Во-первых, сам gd - штука тупая и запросто может поломать оптимизации, сделанные в исходном файле. (тупо переключить png из индексированных цветов в полноцветовую палитру - для мелких изображений разница может быть огромной)
Во-вторых, те же gif и png8 могут распухнуть в размере при добавлении лишних цветов.
В-третьих, алгоритмы сжатия, используемые под капотом этих форматов могут дать совершенно другие результаты.


-----
PostgreSQL DBA
 
 Top
IllusionMH
Отправлено: 15 Апреля, 2014 - 19:19:00
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Synov_son, зависит от формата иповторяемости изображения и прочего. Автоматическая склейка спокойно может получиться в итоге больше и/или хуже по качеству.

Проверить можно только глянув на размер конечного изображения и сравнив с суммой начальных.
 
 Top
Synov_son
Отправлено: 15 Апреля, 2014 - 20:29:01
Post Id


Частый гость


Покинул форум
Сообщений всего: 139
Дата рег-ции: Авг. 2013  


Помог: 0 раз(а)




Нашел статью http://www[dot]informatika[dot]edusite[dot]r[dot][dot][dot]ezione10_09i[dot]htm , которая мне осветила основы того как идет подсчет размера графического файла, буду с помощью getimagesize(-fromstring) брать размеры и глубину цвета и осталось найти как создавать картинку с заданной глубиной цвета и учитывать формат (пока не разобрался как?), что бы не полетело ничего.

(Отредактировано автором: 15 Апреля, 2014 - 21:57:01)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB