WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Обработка изображений: как наложить размытие?

Возможно ли обработать загружаемую картинку с помощью function так, чтобы на нее наложить размытие или градиент по заданным параметрам. Пример такой обработки в Яндекс Дзен. Все блоки записей оформлены именно так.

0
Влад
5.5 лет назад
  • 1
    kolshix779 paxtoy.com

    можно врезаться в wp_generate_attachment_metadata, убрать ненужное и вставить

    imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);

    новое размытое изображение сохранить как отдельную миниатюру с новым именем, ДОПИСАТЬ данные этой миниатюры в переменную $metadata и вызывать размытое изображение в нужном месте

    <?php echo wp_get_attachment_image( 651, 'razmitoe'); ?>
    // это пример кода обрезки, на его основе можно делать что угодно с загруженными изображениями .
    add_filter('wp_generate_attachment_metadata', 'custom_crop');
    
    function custom_crop($metadata) {
    
    	$uploads = wp_upload_dir();
    	$file = path_join( $uploads['basedir'], $metadata['file'] ); // original image file
    	list( $year, $month ) = explode( '/', $metadata['file'] );
    	$target = path_join( $uploads['basedir'], "{$year}/{$month}/".$metadata['sizes']['medium']['file'] ); // intermediate size file
    	$image = imagecreatefromjpeg($file); // original image resource
    	$image_target = wp_imagecreatetruecolor( 44, 44 ); // blank image to fill
    	imagecopyresampled($image_target, $image, 0, 0, 25, 15, 44, 44, 170, 170); // crop original
    	imagejpeg($image_target, $target, apply_filters( 'jpeg_quality', 90, 'image_resize' )); // write cropped to file
    
    	return $metadata;
    }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация