Робота з зображеннями в joomla (jimage)

В Joomla 2.5 з'явився новий клас для обробки зображень JImage. За допомогою цього класу ми можемо виконувати різні маніпуляції із зображеннями, наприклад такі як: зміна розміру, накладення різних ефектів і т.д. а так само можна отримувати інформацію про зображення!

Спробуємо розглянути детально цей клас і методи які є в ньому!

В якості вихідного зображення буду використовувати це:

Робота з зображеннями в joomla (jimage)

Для того що б використовувати цей клас і завантажити в нього зображення потрібно написати наступний код:

Зображення можна завантажити і по іншому:

Якщо ми хочемо отримати ширину або висоту зображення то для цього є два методи:

Що б отримати абсолютний шлях по якому лежить зображення необхідно використовувати метод getPath ():

Для зменшення розміру зображення існує метод resize ($ width, $ height, $ createNew, $ scaleMethod);
У цьому функції чотири параметри:
$ Width - нова ширина зображення
$ Height - нова висота зображення
$ CreateNew - якщо цей параметр встановити в true то метод поверне нам новий екземпляр класу JImage в якому будуть міститися завантажене зображення з усіма змінами зробленими раніше
$ ScaleMethod - метод збільшувати або зменшувати зображення

Всього існує три варіанти для масштабування зображення. Нижче наведена таблиця з методами масштабування і результатом роботи цих методів:

Жорстко піджене під вказаний розмір

JImage :: SCALE_INSIDE
(Значення за замовчуванням)

Висота буде зменшена до зазначеної, ширина буде пропорційно зменшена або збільшена

Ширина буде зменшена до зазначеної, висота буде пропорційно зменшена або збільшена

Для збереження зображення після маніпуляція з ним JImage існує метод toFile ($ path, $ type, $ options);
$ Path - шлях по якому зберегти файл
$ Type - тип файлу при збереженні. Всього є три типи для збереження файлів:
- IMAGETYPE_GIF GIF файл
- IMAGETYPE_PNG PNG файл
- IMAGETYPE_JPEG JPEG файл (цей параметр за замовчуванням)
$ Options - опції! на даний момент там можливо використовувати тільки один параметр $ options [ 'quality'] який встановлює якість зображення для jpg і png файлів!

Для повороту на певний кут зображення існує метод resize ($ angle, $ background, $ createNew);
$ Angle - кут повороту
$ Background - фон заливки пространтсва яке залишається після повороту (за замовчуванням заливає білим кольором)
$ CreateNew - якщо цей параметр встановити в true то метод поверне нам новий екземпляр класу

Після виконання коду вище результатом буде нове зображення:

Робота з зображеннями в joomla (jimage)

Для того що б отримати частину зображення існує метод crop ($ width, $ height, $ left, $ top, $ createNew);
$ Width - ширина
$ Height - висота
$ Left - зміщення з лівого боку
$ Top - зміщення з правого боку
$ CreateNew - якщо цей параметр встановити в true то метод поверне нам новий екземпляр класу

Після виконання коду вище результатом буде нове зображення:

Робота з зображеннями в joomla (jimage)

Робота з фільтрами:

Для роботи з фільтрами існує функція filter ($ type, $ options);
$ Type - тип фільтра
$ Options - опції фільтра

Чому то мені не вдалося підключити фільтри чере jinclude, тобто рядок jimport jimport ( 'joomla.image.filters'); не допомогла, і постійно виводилася помилка про те що не найден фільтр!
З цього довелося безпосередньо підключати фільтри через include

Схожі статті