sqrt-pro/image

Image is part of SQRT Framework

0.1.1 2016-03-19 11:27 UTC

This package is not auto-updated.

Last update: 2024-04-24 11:46:36 UTC


README

Всё начинается с загрузки исходного изображения в объект Image. В конструктор нужно передать имя файла или GD-ресурс.

Преобразования производятся с помощью последовательного назначения модификаторов:

  • resize($width, $height) - Пропорциональное сжатие картинки до заданных размеров;
  • crop($width, $height, $x, $y) - Обрезка картинки до заданных размеров;
  • cropResized($width, $height, $x, $y) - Пропорциональное сжатие и обрезка картинки до заданных размеров;
  • watermark($file, $x, $y) - Добавление водяного знака;

При этом, переменные $x и $y позволяют задать положение для действия (обрезка и положение водяного знака). Например, можно обрезать квадрат 150х150:

  • сrop(150, 150, 10, 5) - начиная с 10 пиксела слева и 5 пиксела сверху по направлению вниз вправо.
  • сrop(150, 150, -10, -5) - начиная с 10 пиксела справа и 5 пиксела снизу по направлению влево вверх.
  • сrop(150, 150, 'left', 'top') - слева сверху изображения.
  • сrop(150, 150, 'center', 'center') - по центру.
  • сrop(150, 150, 'right', 'bottom') - справа снизу.
  • аналогично это же позиционирование можно применить и к водяным знакам или комбинировать на своё усмотрение.

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

$img = new Image('test.jpg'); // Загружаем файл test.jpg
$img
  ->resize(400, 300)          // сжимаем изображение до 400х300
  ->crop(300, 300)            // обрезаем в квадрат (по умолчанию из центра)
  ->save('test_cropped.png')  // исходный JPG можно сохранить в PNG просто указав нужное расширение файла (gif, jpg, png).

При желании, новый файл можно сразу вывести в STDOUT через метод output().