Блог Горошко Андрея 1C-Битрикс Обработка изображений в D7: Класс Bitrix\Main\File\Image

Обработка изображений в D7: Класс Bitrix\Main\File\Image

Для простого создания миниатюр в шаблонах идеально подходит CFile::ResizeImageGet.

Но если вам нужно наложить водяной знак, маску, повернуть изображение или сохранить результат в конкретный файл — используйте класс Bitrix\Main\File\Image.

1. Загрузка изображения

use Bitrix\Main\File\Image;
use Bitrix\Main\Application;

$docRoot = Application::getDocumentRoot();
$sourcePath = $docRoot . '/upload/original.jpg';

$image = new Image($sourcePath);

// Получаем информацию
$info = $image->getInfo(); // [width, height, format, ...]

2. Ресайз (Изменение размера)

use Bitrix\Main\File\Image;

// Пропорциональное уменьшение до 800x600
$image->resize(800, 600, Image::RESIZE_PROPORTIONAL);

// Точная обрезка (кроп) по центру
$image->resize(300, 300, Image::RESIZE_EXACT);

3. Наложение водяного знака (Watermark)

Это то, чего так не хватает в стандартном ResizeImageGet без модуля инфоблоков.

$watermarkPath = $docRoot . '/images/logo.png';
$watermark = new Image($watermarkPath);

// Накладываем водяной знак
// Параметры: (Image $watermark, $alpha, $position, $padding)
$image->drawWatermark(
    $watermark,
    0.5, // Прозрачность (0-1)
    Image::WATERMARK_POSITION_BOTTOM_RIGHT,
    10 // Отступ в пикселях
);

4. Сохранение результата

$destinationPath = $docRoot . '/upload/processed.jpg';

// Сохраняем с качеством 95%
$image->save($destinationPath, 95);

echo "Картинка обработана и сохранена!";

Использование маски

Можно сделать картинку круглой, наложив PNG-маску.

$maskPath = $docRoot . '/images/circle_mask.png';
$mask = new Image($maskPath);

$image->drawMask($mask);

Вывод:
Класс Bitrix\Main\File\Image — это мощная объектно-ориентированная обертка над библиотекой GD (или Imagick).

Он предоставляет удобный интерфейс для сложной обработки графики на сервере, позволяя решать задачи, недоступные стандартным хелперам Битрикс.

Bitrix\Main\File\Image, ресайз D7, водяной знак битрикс, обработка фото, resize, crop, mask, качество изображения.

Похожая задача в бизнесе?

Помогу автоматизировать процессы и внедрить ИИ

Меня зовут Андрей Горошко. Я Full-stack разработчик и эксперт по 1С-Битрикс. Настраиваю CRM Битрикс24, разрабатываю защищенные API и создаю умных ИИ-агентов для автоматизации рутины.

Добавить комментарий

Related Post

Сколько стоит создание интернет-магазина на 1С-Битрикс под ключ: детальный расчет сметыСколько стоит создание интернет-магазина на 1С-Битрикс под ключ: детальный расчет сметы

Прозрачный расчет бюджета, честные сметы и понимание совокупной стоимости владения (TCO) — залог успешного сотрудничества и окупаемости инвестиций в веб-разработку на 1С-Битрикс. В статье «Сколько стоит создание интернет-магазина на 1С-Битрикс

Интеграция сайта на 1С-Битрикс с системой видеоаналитики и тепловых картИнтеграция сайта на 1С-Битрикс с системой видеоаналитики и тепловых карт

Бесшовная и отказоустойчивая интеграция сайта на 1С-Битрикс с внешними учетными системами, банками, службами доставки и маркетплейсами — основа масштабирования современного бизнеса. Услуга «Интеграция сайта на 1С-Битрикс с системой видеоаналитики и

Интеграция 1С-Битрикс с SMS-шлюзами (SMS.RU, СМС Центр, Stream Telecom)Интеграция 1С-Битрикс с SMS-шлюзами (SMS.RU, СМС Центр, Stream Telecom)

Бесшовная интеграция сайта на 1С-Битрикс с внешними системами — это ключевое условие автоматизации продаж и масштабирования бизнеса. Услуга «Интеграция 1С-Битрикс с SMS-шлюзами (SMS.RU, СМС Центр, Stream Telecom)» обеспечивает SMS-уведомления клиентам