Определение размера картинки перед её выдачей

Mixan

Guest
Нет, именно для подписей.
пример 1
пример 2 (осторожно - 117 кб)
Текст накладывается динамически.

Вот второй пример - это как раз та самая проблема. Ибо тот файл на который накладывается текст - весит всего 40 килобайт. Но из-за вывода в PNG размер тут же поднимается до 117 килобайт.
 

SiMM

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

Mixan

Guest
Вряд ли это выход, потому как есть 2 НО:
1) Чтобы понять произошли ли изменения в инфе, накладываемой на картинку - нужен ещё один запрос в БД... получается уже 2 запроса в БД (один идет на получение настроек вывода конкретной картинки - т.е. расположение текста, шрифт, цвет, прозрачность, угол и т.д.). Опять же, тема в 30 сообщений - это уже 60 запросов. Против 30 сейчас.
2) Даже при условии что инфа выводимая на картинку не изменилась, есть ещё масса тонкостей: - язык вывода и сервер с которого берется инфа о персонаже. Т.е. при том что инфа о чаре может остаться без изменений, язык на котором выводится тексты может быть разный. Т.е. на одном форуме в подписе может стоять русский, на другом - английский, на третьем - немецкий и т.д. Т.е. картинка может существовать аж в 3-х вариантах... + с разными серверами..
Комбинаций - огромное количество.

Так что кэш тут не пройдет...
 

gun2rin

Новичок
А если не в PNG выводить? Потому что скрипт видимо выводит в
PNG-24, нагружает. Искал, как можно PNG-8 вывести - не нашел.
 

Mixan

Guest
Пользователь сам волен выбирать формат вывода...
Просто одни картинки могут смотреться в jpeg на 30 килобайт также, как и в png но на 10 килобайт...
В общем формат (и степерь сжатия у джпега) надо подбирать к каждой картинке "на глаз"...
Но вот бывает получается так что картинка выходит на 100+ килобайт, что разумеется не очень приятно...
 

gun2rin

Новичок
А картинки он грузит, или тоже выбирает? У тебя так?
"Выберите/Загрузите картинку=>создайте подпись"
 

Mixan

Guest
Картинки (шаблоны) пользователи сами загружают на сервер. Там стоит ограничение на размер.

Потом, в зависимости от переданных в сслылке параметров выбирается картинка, получаются настройки для неё, накладываются различные (в зависимости от тех же параметров в ссылке) тексты ... все это выводится.
 

gun2rin

Новичок
Круто. Но зачем это нужно я не никак не пойму. Я не просто так спрашиваю. Т.е. зачем нужны эти самые подписи, какая у них задача?

Все, понял уже (зашел на форум). Вещь прикольная конечно, но ресурсоемкая.
 

Mixan

Guest
Отображать инфу по персонажам (уровень, профессия, раса и т.п.). Но это к делу не относится.
 

gun2rin

Новичок
Хорошо. Допустим ты определил размер картинки перед выдачей=300kb. И что дальше?
 

tony2001

TeaM PHPClub
>Картинки (шаблоны) пользователи сами загружают на сервер. Там стоит
>ограничение на размер.

>Потом, в зависимости от переданных в сслылке параметров выбирается картинка,
>получаются настройки для неё, накладываются различные (в зависимости от тех
>же параметров в ссылке) тексты ... все это выводится.
дубль-2:
далее из всех этих параметров генерится некий уникальный ID картинки и картинка кладется в кэш с этим ID.
и более не генерится каждый раз.
в чем проблема-то ?
 

Mixan

Guest
Мне не нужна куча дохлых картинок на сервере.
 

tony2001

TeaM PHPClub
Mixan
у тебя есть два реальных варианта:
1) небольшая куча дохлых картинок в кэше (которые периодически устаревают).
2) 1 дохлый сервер
 

Mixan

Guest
Не стоит говорить о том, чего не знаешь. В данном случае про "небольшую кучу дохлых картинок".

В итоге получается что приемлимого варианта нет, что в общем-то можно было выяснить ещё в начале.
 

tony2001

TeaM PHPClub
>Не стоит говорить о том, чего не знаешь.
>В данном случае про "небольшую кучу дохлых картинок".
в данном случае размер "кучи" зависит от реализации, а не от "знаешь-не знаешь".
впрочем, это твое дело.
 
Сверху