Изменение изображений с помощью встроенных средств

С версии 3.5.0 появился весьма удобный редактор изображений wp_get_image_editor. Сегодня поговорим о его возможностях, а в конце я приведу одну готовую полезную функцию.

Вызов осуществляется следующим образом:

Основной аргумент - это собственно путь до изображения, с которым мы будем работать. После чего можно использовать различные методы для изменения изображения.

Основной функционал следующий:

1) Изменение размера:

Первое значение соответственно ширина нового изображения, а второе - высота. Последний аргумент отвечает за то, будет ли использоваться обрезка изображения или нет. В данном случае будет создана миниатюра с разрешением 180х120, которая будет обрезана по большей стороне, если само изображение не соответствует данному соотношению сторон (3:2).

2) Изменение качества сжатия:

Главный аргумент - значение числа от 1 до 100, чем выше, тем лучше качество, чем ниже тем меньше размер итогового изображения.

3) Вырезка куска изображения:

Параметры $start_x и $start_y отвечают за отступ начальной позиции для вырезки, $width и $height - отвечают за ширину и высоту того куска, который будет вырезан. Последние два аргумента $new_width  и $new_height отвечают за новый размер вырезанного куска изображения, можно не указывать.

4) Вращение:

Вращает изображение на соответствующий угол. Если угол не кратен 90, то пустой фон нового изображения будет залит чёрным цветом.

5) Зеркалирование:

Здесь всего два аргумента, первый - будет ли повёрнуто изображение относительно горизонтали, а второе - будет ли повёрнуто изображение относительно вертикали.

6) Сохранение:

Сохраняет новое изображение и возвращает массив с данными о нём, $save_img['path'] - полный путь до изображения, $save_img['file'] - название файла, $save_img['width'] - ширина и $save_img['height'] - высота изображения.

А теперь полезная функция на основе этого функционала:

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

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

Ваш e-mail не будет опубликован.