Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.04.2014 23:11:39

Андрей

Работа с изображениями

Всем привет! Поделитесь опытом, кто что использует для работы с изображениями, для хранения обработки, кэширования.

#2 26.04.2014 17:04:28

Re: Работа с изображениями

А что именно интересует? Мне лично хватает обычного GD, сохранять их она, разумеется, тоже умеет.

Не в сети

#3 26.04.2014 17:49:39

Андрей

Re: Работа с изображениями

да что-то уже готового, чистый GD - не интересно.

Что-то типа

$path = 'path/to/img.jpg' # путь к оригиналу
$preset = 'thumb_catalog' # пресет который хранит настройки размера фото и способа обработки

print Image::render($path, $preset, array('alt'=>$alt, 'title'=>$title))

# в результате получим
<img src="/thumb_catalog/path/to/img.jpg" alt="Alt" title="title" />

Естественно перед созданием нового изображение проверяется его существование

Ну в общем как-то так.
Понятно что можно самому сваять, знакомство с Laravel только начал, просто думал есть уже что-то стоящее. Да и вообще странно что в базовом комплекте для работы с изображениями в Laravel нет чего-то подобного

#4 26.04.2014 17:58:18

Re: Работа с изображениями

  1. Да и вообще странно что в базовом комплекте для работы с изображениями в Laravel нет чего-то подобного

Нельзя ведь всё на все случаи жизни в фреймворк добавлять, он и так уже раздутый.

Я лично использую свой класс ThumbGen, он к Laravel не привязан, но тем не менее очень гибкий и удобный. Используется так:

PHP
    $thumb
      
->temp(\Bundle::path('mybundle').'public/thumbs')
      ->
type($type$quality)
      ->
remoteCacheTTL($remoteCacheTTL)
      ->
size(array_get($input'width'0), array_get($input'height'0))
      ->
restrict('width'$widthMin$widthMax)
      ->
restrict('height'$heightMin$heightMax)
      ->
step($steparray_get($input'up'))
      ->
fill(array_get($input'fill'));

    
// собственно сгенирировать миниатюру или ничего не делать, если она есть в кэше.
    
$path $thumb->scaled();

Опции можно далеко не все указывать. В коде есть комментарии, если интересно — посмотри.

Не в сети

#5 26.04.2014 20:11:10

Андрей

Re: Работа с изображениями

Proger_XP пишет:

}%> Да и вообще странно что в базовом комплекте для работы с изображениями в Laravel нет чего-то подобного
Нельзя ведь всё на все случаи жизни в фреймворк добавлять, он и так уже раздутый.

Да, но изображения - это базовый элемент сайта, по мне так это должно быть из коробки.

За код спасибо большое, интересное решение, поковыряюсь ))).

#6 27.04.2014 08:44:11

Re: Работа с изображениями

Андрей пишет:
Proger_XP пишет:

}%> Да и вообще странно что в базовом комплекте для работы с изображениями в Laravel нет чего-то подобного
Нельзя ведь всё на все случаи жизни в фреймворк добавлять, он и так уже раздутый.

Да, но изображения - это базовый элемент сайта, по мне так это должно быть из коробки.

За код спасибо большое, интересное решение, поковыряюсь ))).

Composer позволяет коробку сделать любого размера и цвета;-)

У всех свои предпочтения. Но лично я использую Intervention Image через свою хелпер функцию в которой генерируется имя для будущего кеш-файла, проверяется дата изменения оригинального файла и т.д. Код приводить не буду, т.к. по большей части он не завязан на эту библиотеку и само сжатие довольно примитивное

Image::make($file)->resize($w, $h, true)->save($cacheFile, 96);

Время, качество, цена - выбирай любые 2

Не в сети

#7 30.04.2014 15:37:25

Artdevue
Откуда: Kiev
Сообщений: 119
Сайт

Re: Работа с изображениями


If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.

Не в сети

#8 05.05.2014 18:58:23

Андрей

Re: Работа с изображениями

Вот вот вот, похоже imagecache - это то что нужно. спасибо!!!

#9 11.08.2014 18:46:48

Дима

Re: Работа с изображениями

Пользуюсь ImageMagick  - это практически фотошоп из командной строки. Всем советую smile
http://www.imagemagick.org/

Подвал раздела