cmsx/image

CMSx Image Component

dev-master 2013-06-20 11:34 UTC

This package is not auto-updated.

Last update: 2024-11-09 15:36:08 UTC


README

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

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

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

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

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

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

Image::Me('test.jpg')
  ->addResize(400, 300)
  ->addCrop(300, 300)
  ->save('test_cropped.png')
  • Image::Me('test.jpg') - Сокращенный вызов конструктора класса. Загружаем файл test.jpg
  • addResize(400, 300) - сжимаем изображение до 400х300
  • addCrop(300, 300) - обрезаем в квадрат (по умолчанию из центра)
  • save('test_cropped.png') - здесь нет опечатки с расширением файла, исходный JPG можно сохранить в PNG просто указав нужное расширение файла (gif, jpg, png).

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