Wordpress add_image_size кроп делает супер плохое качество - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь изменить размер изображения размером 300x175, но результат получился очень плохого качества (исходное изображение хорошего качества).

Я использую код:

add_image_size( 'saveti-home-thumb', 300, 175, true);

Я попытался отключить сжатие WordPress, добавив:

add_filter('jpeg_quality', function($arg){return 100;}); в functions.php,

, но по-прежнему безрезультатно.

Этоисходное изображение: https://saveti.bg/wp-content/uploads/2019/05/meteora-scenery.jpg Это изображение после сжатия: https://saveti.bg/wp-content/uploads/2019/05/meteora-scenery-300x175.jpg

Как видите, качество супер разрушено. Есть идеи как это исправить?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 октября 2019

Как я понимаю, это может быть связано с несколькими факторами: один из них - это то, что происходит, когда вам нужно обрезать изображения в тех случаях, когда они не соответствуют пропорциям фотографии. Другой случай, когда изображение не по умолчанию в rgb. И еще один, кажется, что это всегда происходило в WP и еще не исправлено

Ссылки для быстрого ознакомления с пунктами, которые я прокомментировал.

https://wordpress.org/support/topic/images-lose-quality-after-wp-resize-even-with-the-jpeg-quality-filter-at-100/ https://wordpress.stackexchange.com/questions/301710/image-quality-thumbnail-compression-in-wordpress

Хотя это по-прежнему не является хорошим решением, я предлагаю использовать миниатюры с изображениями без кадрирования только с изменением размера путем изменения текущего кода функции на:

 add_image_size( 'saveti-home-thumb', 300, 175, false);
0 голосов
/ 20 октября 2019

Для обрезки изображений есть один хороший плагин.

https://wordpress.org/plugins/regenerate-thumbnails/

Добавьте этот плагин в свой WordPress. Добавьте нужный размер изображения в functions.php.

add_image_size( 'saveti-home-thumb', 300, 175, true);

После этого восстановить все изображения в

Инструменты> Восстановить миниатюры

После этого вызовите изображение с этим параметром saveti-home-thumb. Как

get_the_post_thumbnail_url( int|WP_Post $post = null, string|array $size = 'saveti-home-thumb' )
...