wp_get_image_editor()
Возвращает объект WP_Image_Editor с указанной картинкой. Используется для изменения размеров изображения (создания миниатюр) и редактирования картинки.
Над картинкой можно производить разные действия: уменьшать, поворачивать, переворачивать и т.д. Все это делается по средствам методов класса WP_Image_Editor (англ).
Измененную картинку легко можно сохранить в указанное место, см. пример.
Класс WP_Image_Editor расположен в файле: /wp-includes/class-wp-image-editor.php
Хуков нет.
Возвращает
WP_Image_Editor|WP_Error
. Объект WP_Image_Editor или объект WP_Error, если не удалось получить картинку по переданному УРЛ или другой ошибки.
Использование
$image_editor = wp_get_image_editor( $path, $args );
- $path(строка) (обязательный)
- Путь до картинки-оригинала, на основе которой будем создавать копию.
- $args(массив)
- Дополнительные данные. Принимает: mime тип изображения и методы: mime_type, methods.
По умолчанию: array()
Примеры
#1 Создадим уменьшенную копию изображения
Предположим у нас есть картинка '/wp-content/uploads/2014/02/uka.png' (лежит на нашем сервере). Этот пример показывает, как создать уменьшенную копию этой картинки с помощью класса WP_Image_Editor:
$file_path = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/uploads/2014/02/uka.png'; // загружаем объект $image = wp_get_image_editor( $file_path ); // можно указать УРЛ, вместо абсолютного пути: // $image = wp_get_image_editor( 'http://wp-kama.ru/wp-content/uploads/2014/02/uka.png' ); // обрабатываем картинку if ( ! is_wp_error( $image ) ) { // повернем картинку на 90 градусов $image->rotate( 90 ); // уменьшим её до размеров 80х80 $image->resize( 80, 80, true ); // сохраним в туже папку что и текущий файл, с названием {name}-{suffix}.{ext} $new_file_path = $image->generate_filename(); // сохраним в корне сайта под названием new_image.png $image->save( $new_file_path ); }
Методы класса которые можно использовать для изменения изображения
Не нужно напрямую использовать класс редактора, лучше всегда использовать эту функцию - wp_get_image_editor(), которая является оберткой для класса WP_Image_Editor.
Методы WP_Image_Editor
- WP_Image_Editor::supports_mime_type( $mime_type )
- Проверяет поддерживает ли редактор указанный mime тип.
- WP_Image_Editor::save( $destfilename = null, $mime_type = null )
- Сохраняет текущую картинку в файл.
- WP_Image_Editor::resize( $max_w, $max_h, $crop = false )
Изменяет размер текущего изображения.
Параметр $crop определяет нужно ли кадрировать изображение при уменьшении его размера и как кадрировать. Возможные значения параметра $crop:
- false (по умолчанию) - картинка не будет кадрироваться, а будет уменьшена как есть пропорционально.
- true - будет кадрироваться до указанных размеров от центра изображения.
- массив - картинка будет кадрироваться до указанных размеров внутри указанной области. Область указывается в виде массива array( x_crop_position, y_crop_position ):
x_crop_position
- может быть: 'left', 'center', или 'right'.y_crop_position
- может быть: 'top', 'center', или 'bottom'.
- WP_Image_Editor::multi_resize( $sizes )
- Обрабатывает текущую картинку и сохраняет на диск несколько указанных размеров сразу из одной обрабатываемой картинки.
- WP_Image_Editor::crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false )
- Кадрирует изображение.
- WP_Image_Editor::rotate( $angle )
- Rotates current image counter-clockwise by $angle.
- WP_Image_Editor::flip( $horz, $vert )
- Переворачивает изображение по горизонтали, вертикали или и то и то.
- WP_Image_Editor::stream( $mime_type = null )
- Выводит текущее изображение в браузер.
- WP_Image_Editor::get_size()
- Получает разрешение картинки как массив с ключами: 'width' и 'height'.
- WP_Image_Editor::update_size( $width = null, $height = null )
- Устанавливает размер текущего изображения.
- WP_Image_Editor::set_quality( $quality )
- Устанавливает качество сжатия для JPG файлов. Указывается число от 1 до 100, которое соответствует процентам: 100% - лучшее качество 50% плохое качество, но сильное сжатие и меньший размер файла.
По умолчанию: 90 - WP_Image_Editor::get_output_format( $filename = null, $mime_type = null )
- Получает предпочитаемый mime тип и расширение получаемое на основе расширения файла или mime типа. По умолчанию берет значение свойства $this->default_mime_type определенное разрешение не поддерживается.
- WP_Image_Editor::generate_filename( $suffix = null, $dest_path = null, $extension = null )
- Создает итоговое название файла на основе текущего файла и соответствующего размерам суффикса.
- WP_Image_Editor::get_suffix()
- Строить и возвращает суффикс для названия файла на основе ширины и высоты.
- WP_Image_Editor::make_image( $filename, $function, $arguments )
- Вызывает save функцию редактора или обрабатывает файл когда $filename передан как поток. В $function и $arguments обычно указывается одна из функций: imagegif(), imagepng(), imagejpeg() и её параметры.
- WP_Image_Editor::get_mime_type( $extension = null )
- Получает mime по указанному расширению, например jpg. См. wp_get_mime_types().
- WP_Image_Editor::get_extension( $mime_type = null )
- Получает расширение по указанному mime типу. См. wp_get_mime_types().
Список изменений
С версии 3.5.0 | Введена. |