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]   

> Описание: imagecreatefrompng, imagecolorallocatealpha, imagecreatetruecolor
Synov_son
Отправлено: 15 Апреля, 2014 - 22:22:26
Post Id


Частый гость


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


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




Доброго времени суток.

Пытаюсь выяснить какой может быть максимальный объем изображения png, скажем 500х500 с глубиной цвета 8-бит и альфа-каналом. Собираюсь вставлять изображения в заранее созданное примерно так:
PHP:
скопировать код в буфер обмена
  1. $img = imagecreatetruecolor($x,$y);
  2.         imagesavealpha($img, true);
  3.         $alpha = imagecolorallocatealpha($img, 0, 0, 0, 127);
  4.         imagefill($img,0,0,$alpha);
  5.  

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

Я так понимаю просто посчитать не получиться так, как указано здесь http://www[dot]informatika[dot]edusite[dot]r[dot][dot][dot]ezione10_09i[dot]htm :
Высота*ширину*глубину цвета/8 бит = кол-во в байтах
?
Сжатие используемое png - LZ77 - динамическое ? Может у него есть какой-то минимум, на который он сжимает изображение, скажем 2кб или 0.12112 ?

Может есть хоть какие то статьи на эту тему ?

Благодарю.
 
 Top
Zuldek
Отправлено: 16 Апреля, 2014 - 14:18:28
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


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




Есть специфика сохранения изображения каждым из форматов и она будет отличаться, как вы понимаете, даже для каждого конкретного изображения в рамках одного и того же формата (то есть изображение 500х500px в формате jpg может весить в первом случае в 10 раз больше чем во втором).
Задача технически решаема, но, в конечно счете, чтобы создать изображение 500х500 не больше 10кб максимально хорошего качества в формате jpg или Png — такие функции популярных библиотек мне не известны. И они не могут быть, поскольку размер файла изображения становится известен после его фактического создания.

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

(Отредактировано автором: 16 Апреля, 2014 - 14:23:25)

 
 Top
Synov_son
Отправлено: 17 Апреля, 2014 - 16:01:26
Post Id


Частый гость


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


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




Zuldek пишет:
Есть специфика сохранения изображения каждым из форматов и она будет отличаться, как вы понимаете, даже для каждого конкретного изображения в рамках одного и того же формата (то есть изображение 500х500px в формате jpg может весить в первом случае в 10 раз больше чем во втором).
Задача технически решаема, но, в конечно счете, чтобы создать изображение 500х500 не больше 10кб максимально хорошего качества в формате jpg или Png — такие функции популярных библиотек мне не известны. И они не могут быть, поскольку размер файла изображения становится известен после его фактического создания.

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


Да по факту задача у меня в том что бы создать изображение png такого размера что бы оно открылось в браузере как data:uri и соответственно учитывается допустимый вес. Оптимизировать файлы я не доверю коду, мало ли какое качество будет. Вот и думаю сижу какой может быть максимальный вес у png с заданными размерами и глубиной цвета 8 бит.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Графика в PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB