Якщо ви вперше чуєте про Intervention Image, це потужний PHP-пакет, який дозволяє легко та виразно редагувати зображення. Бібліотека підтримує найвідоміші PHP-бібліотеки для обробки зображень: GD Library, Imagick та libvips. Від останнього огляду Intervention Image v2 пройшло чимало часу, і розробник Олівер Фогель значно покращив пакет. Версія 3 була повністю переписана, отримавши нові можливості, сучасну та вдосконалену архітектуру, а також API, який використовує всі новітні функції PHP 8+.
# Основні характеристики
Основні можливості цього пакета:
- Уніфікований API для кількох драйверів: Легко перемикайтеся між GD, Imagick або libvips, зберігаючи однакову структуру коду
- Потужні опції зміни розміру: Точно змінюйте розмір, обрізайте, адаптуйте та масштабуйте зображення
- Композиція зображень: Розміщуйте зображення поверх інших, налаштовуйте відстані та контролюйте непрозорість для кастомних накладок чи водяних знаків
- Малювання геометричних фігур: Створюйте та редагуйте фігури, такі як прямокутники, кола, еліпси, лінії та полігони з налаштовуваними краями, заливками та стилізацією
- Підтримка анімованих зображень: Обробляйте GIF та інші анімовані формати з можливістю зміни кадр за кадром
- Підтримка кольорових просторів та профілів: Працюйте з різними кольоровими просторами та ICC-профілями для забезпечення кольорової точності у різних медіа та вихідних форматах
- Підтримка тексту та шрифтів: Система шрифтів підтримує обгортання тексту, налаштування міжрядкового інтервалу та розширений контроль типографіки, що робить її ідеальною для створення динамічної графіки на основі тексту
# Приклад
use Intervention\Image\ImageManager;
// створити менеджер зображень з бажаним драйвером
$manager = new ImageManager(
new Intervention\Image\Drivers\Gd\Driver()
);
// відкрити файл зображення
$image = $manager->read('images/featured-image.jpg');
$image->resize(height: 1100);
$image->place('images/LN-watermark.png');
$encoded = $image->toPng();
$encoded->save('images/featured-article-image.png');
Спробуйте, встановивши пакет за допомогою Composer:
composer require intervention/image
Читайте офіційну документацію, щоб дізнатися більше про цей пакет, та перегляньте вихідний код на GitHub