Asido - объектно-ориентированный resizer на php
Для изменения размера и подгонки изображений на одном из сайтов я выбрал эту библиотеку.
Позволяет установить множество опций при изменении изображения, в тоже время достаточно простой в использовании.
Последняя версия на сайте http://asido.info/ (прямая ссылка)
Похожие записи:
Метки: PHP


RSS
30/06/2008 в 2:11 пп
У меня вопрос, я делаю галлерею, мне нужно при получении фотки от клиента сделать две уменьшеных копии + оригенал и запихнуть в соответствующие папки.
Например
gallery
….1
…….logo
…….medium
…….orig
А потом соответственно выводить на сайте.
В каком мне направлении копать?
Заранее благодарен.
30/06/2008 в 2:21 пп
скачивать либу, смотреть примеры и копать)))
там же все просто, создаешь объект асидо, загружаешь туда картинку оригинальную потом изменяешь размер и сохраняешь куда нади или под каким тебе именем нужно, например id продукта и размер типа “232342_medium.png”.
так для каждого размера, можно в принципе по папкам кидать, тогда просто айдишники, вопшим все зависит от полета фантазии твоей.
Чесно говоря, суть вопроса и проблемы не понял))))
4/07/2008 в 10:11 дп
А пробовали интегрировать асидо в zf? Кстати классы написаны в старом стиле, возможно под пхп 6 уже работать не будут.
4/07/2008 в 11:21 дп
а зачем? на одном уровне использовал, то есть папка Zend и рядом Asido. Никаких проблем и дискомфорта. Не ну если хочецца то можно и интегрировать, тогда просто закинуть либу внутрь Zend’а и классы преименовать в соответствии с путями. Тогда будет Zend_Asido класс. При таком раскладе аккуратней обновляйте зенд. Или если у вас есть расширение зенда, например YourSiteName (папка такая же как зенд тока там расшеренные классы зенда) вместо Zend (YourSiteName_Controller, YourSiteName_View), то будет уже YourSiteName_Asido. Как-то так
Но я не вижу в этом смысла…
4/07/2008 в 11:26 дп
Интегрировать получилось. Ед. проблема которая меня беспокоит, это то, что написана библиотека в стиле пхп 4 и выдает кучу предупреждений. Опасно ею пользоватся так как в пхп 6 навряд будет потдержка пхп 4
4/07/2008 в 11:33 дп
Все вроде разобрался, в свн лежит,что то более свежее, счас буду глядеть. Кстати, а какие впечатления по скорости? Я счас расматриваю эту библиотеку и компонент из ezComponents, там конечно все сильно наворочено.
4/07/2008 в 11:39 дп
да как-то сильно не обращал внимания, у меня ж уменьшенные копии сразу создаются при аплоаде в папке с кешем, потом еси нужно перегенирить (фон поменялся в дизайне а картики не квадратные а то высокие то длинные), то чищу папку и ано один раз проходицца по картикам и уменьшает их заново
4/07/2008 в 11:41 дп
а что скоро 6 версия пыхи будет, я не слышал О_о, они хоть бы 5.3 выкатили скорее…
4/07/2008 в 11:50 дп
Запарился я с этими библиотеками, ezComponents всё взлетать не хочет. В асидо явная проблема совместимости, а ветка branches\asido-php4-php5 такая же и под пхп 5 не написана.
Неужто нет больше др. библиотек….
4/07/2008 в 2:43 пп
Потратил на проблему ресайза более 6 часов, из всего виденого убедился, что асидо самая оптимальная, но пришлось остановится на простой функции ресайза без использования библиотек. Эх будет время перепишу асиду на пхп 5.
4/07/2008 в 5:53 пп
Не-не-не-не-не! Ниче переписывать не нужно, у тебя лишние часы чтоли? Там же пару стандартов тока помоему. Я обошелся тем, что не вызывал те методы из класса как статические, а создавал обект и на нем уже их вызывал. Т.е. ничего практически не поменялось от тех примеров которые идут с либой в комплектации, только вместо имени класса - переменная, а вместо 4-х точек стрелочка.
4/07/2008 в 6:09 пп
тока в асидо там есть 1 баг, он не ресемплит картинку и они галимая получается (эффект как будто загрузилась большая и в теге
проставлены ширина и высота). Там покопайся в файле “class.driver.gd.php” кажись 184 строка: поменяй функцию imageCopyResized на imageCopyResampled. По скоросте медленнее будет работать, на сколько - хз, но без этого теряется смысл ваще нормального ресайза. Вот.. ещё могу привести пример кода своего:
include_once “Asido/class.asido.php”;
$asido = new Asido();
$asido->Driver(’gd’);
$frame = $asido->Image($srcImagePath, $destImagePath);
$asido->Frame($frame, $width, $height, $asido->Color(255, 255, 255));
$frame->Save(ASIDO_OVERWRITE_ENABLED);
тут картинка вписывается в определённую прямоугольную область (как это чаще всего бывает) и фон заливается указанным цветом. Тут я цвет захардкодил для наглядности. У миня цвет храница в БД как настройка, которую в админке менять можна.
7/07/2008 в 8:28 дп
Спасибо
7/07/2008 в 9:56 дп
пжлст