Плюшка CMS#26.04.2018

/* Создан для быстрой разработки приложений */
Скачать Демо

23.1. Методы класса

25.09.2015

picture::__controller(string fileName, [string type]);
Конструктор класса. fileName — имя файла (должно включать полный путь); type — MIME-тип изображения (допустимо указывать расширение имя файла). MIME-тип необходимо указывать в тех случаях, когда fileName не содержит расширения файла и нет возможности определить его тип.

Если файл не является корректным изображением, то переменная controller::$error будет содержать текст сообщения об ошибке.

picture::resize([mixed width], [mixed height]);
Изменяет размеры исходного изображения. Если один из параметров (ширина или высота) не задан, то он будет рассчитан по второму параметру пропорционально исходному размеру. width и height могут быть целым числом (точный размер в пикселях), или строкой, состоящей из символа «>» (больше) или «<» (меньше) и следующего за ним числа. Во втором случае размеры будут пропорциональны исходным, но «не более» или «не менее» заданного.

Для наглядности примеры размеров:

Width

Height

Результат

400

null

Ширина — 400 пикселей, высота — пропорционально исходной

400

300

Ширина — 400 пикселей, высота — 300 пикселей

<600

null

Ширина соответствует исходной, если она меньше 600 пикселей или равна 600 пикселей, если исходная ширина больше. Высота пропорциональна исходной.

<800

<600

Изображением «вписывается» (с сохранением пропорций) в размер 800x600, если по одной или обоим граням оно больше заданного.

null

>300

Высота будет растянута до 300 пикселей, если исходная меньше. Ширина пропорциональна исходной.


 

picture::watermark(string fileName, mixed x, mixed y);
Накладывает водный знак на изображение. fiileName — имя файла изображения, содержащего водный знак. Параметры x и y задают координаты расположения водного знака: целые положительные числа — отсутп в пикселях от левого и верхнего края, отрицательные целые числа — отсуп в пикселях от правого и нижнего края изображения, строка, состоящая из числа и знака «%» - задаёт отступ в процентах от размеров изображений (например picture::watermark('myfile.png','50%','50%') расположит водный знак точно по центру изображения).

picture::save(string fileName, [integer quality], [string type]);
Сохраняет обработанное изображение в файл. Параметр fileName (имя файла) необходимо указывать БЕЗ РАСШИРЕНИЯ. quality — качество изображения для формата JPEG (число от 1 до 100). type — MIME-тип (допускается указывать расширение файла), если не указан, то будет сохранён в том же формате, что и исходный файл.

Функция picture::save() возвращает расширение сохранённого файла или false в случае неудачи.

Реализация picture::save() и необходимость дополнительно указывать MIME-тип необходима для того, чтобы упростить работу с изображениями, находящимися в $_FILES, когда имя файла не содержит расширения. Однако реализация получилась не слишком удачной и, вероятно, этот класс будет доработан в будущем.