wp_get_image_editor() WP 3.5.0

Повертає об’єкт 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()

Приклади

0

#1 Створимо зменшену копію зображення

Припустимо, у нас є картинка ‘/wp-content/uploads/2014/02/uka.png’ (лежать на нашому сервері). Цей приклад показує, як створити зменшену копію цієї картинки за допомогою WP_Image_Editor класу :

// завантажуємо об'єкт
$image = wp_get_image_editor( $_SERVER['DOCUMENT_ROOT'].'/wp-content/uploads/2014/02/uka.png' );
// можна вказати УРЛ замість абсолютного шляху:
// $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);
	// збережемо в корені сайту під назвою new_image.png
	$image->save( $_SERVER['DOCUMENT_ROOT'].'/new_image.png' );
}

Методи класу, які можна використовувати для зміни зображення

Не потрібно безпосередньо використовувати клас редактора, краще завжди використовувати цю функцію – wp_get_image_editor() , яка є обгорткою для класу WP_Image_Editor .

Методи

supports_mime_type( $mime_type )
Перевіряє чи підтримує редактор зазначений mime тип.
save( $destfilename = null , $mime_type = null )
Зберігає поточне зображення у файл.
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’ .
multi_resize($ sizes);
Обробляє поточну картинку і зберігає на диск кілька вказаних розмірів відразу з однієї картинки, що обробляється.
crop( $src_x, $src_y, $src_w, $src_h, $dst_w = null, $dst_h = null, $src_abs = false )
Кадрує зображення.
rotate( $angle )
Rotates current image counter-clockwise by $angle.
flip( $horz, $vert )
Перевертає зображення по горизонталі, вертикалі або й те й те.
stream( $mime_type = null )
Виводить поточне зображення у браузер.
get_size()
Отримує роздільну здатність картинки як масив з ключами:
‘width’ і
‘height’ .
update_size( $width = null, $height = null )
Встановлює розмір поточного зображення.
set_quality( $quality )
Встановлює якість стиснення для файлів JPG. Вказується число від 1 до 100, яке відповідає відсоткам: 100% – найкраща якість 50% погана якість, але сильний стиск та менший розмір файлу.

Типово: 90
get_output_format( $filename = null, $mime_type = null )
Отримує бажаний mime тип і розширення, що отримується на основі розширення файлу або mime типу. За промовчанням значення значення
$this->default_mime_type бере певний дозвіл не підтримується.
generate_filename( $suffix = null, $dest_path = null, $extension = null )
Створює підсумкову назву файлу на основі поточного файлу та відповідного розміру суфікса.
get_suffix()
Будувати та повертає суфікс для назви файлу на основі ширини та висоти.
make_image( $filename, $function, $arguments )
Викликає save функцію редактора або обробляє файл, коли $filename передано як потік. У $function і $arguments зазвичай вказується одна з функцій:
imagegif() ,
imagepng() ,
imagejpeg() та її параметри.
get_mime_type( $extension = null )
Отримує mime за вказаним розширенням, наприклад jpg. wp_get_mime_types
() .
get_extension( $mime_type = null )
Отримує розширення за вказаним mime типом. wp_get_mime_types
() .

список змін

З версії 3.5.0Введено.

Код wp_get_image_editor() WP 6.0.2

function wp_get_image_editor( $path, $args = array() ) {
	$args['path'] = $path;

	if ( ! isset( $args['mime_type'] ) ) {
		$file_info = wp_check_filetype( $args['path'] );

		// If $file_info['type'] is false, буде зроблено editor attempt to
		// зображені на файлі типу, інші не повинні forcing a failure based on extension.
		if ( isset( $file_info ) && $file_info['type'] ) {
			$args['mime_type'] = $file_info['type'];
		}
	}

	$implementation = _wp_image_editor_choose($args);

	if ($implementation) {
		$editor = new $implementation( $path );
		$loaded = $editor->load();

		if ( is_wp_error( $loaded ) ) {
			return $loaded;
		}

		return $editor;
	}

	return new WP_Error( 'image_no_editor', __( 'No editor could be selected.' ) );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *