Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传时调整Wordpress图像大小_Php_Wordpress_Image - Fatal编程技术网

Php 上传时调整Wordpress图像大小

Php 上传时调整Wordpress图像大小,php,wordpress,image,Php,Wordpress,Image,我有wordpress插件,它有一个小部件,用户可以上传他们的图片。 对于上传图像,我使用wordpress内置功能,用于以下媒体: wp_enqueue_media(); 这给了我从我的小部件上传图像的相同用户界面,就像在媒体标签下一样 我还添加了上传时要创建的图像的自定义大小: add_image_size( 'my_size', 360, 540, false ); 我用这个尺寸的图像在前端显示它。 问题是,当wordpress将原始图像调整到这个大小时,它的质量会降低。“我的尺寸”的

我有wordpress插件,它有一个小部件,用户可以上传他们的图片。 对于上传图像,我使用wordpress内置功能,用于以下媒体:

wp_enqueue_media();
这给了我从我的小部件上传图像的相同用户界面,就像在媒体标签下一样

我还添加了上传时要创建的图像的自定义大小:

add_image_size( 'my_size', 360, 540, false );
我用这个尺寸的图像在前端显示它。 问题是,当wordpress将原始图像调整到这个大小时,它的质量会降低。“我的尺寸”的图像像是模糊的


有人知道如何解决这个问题吗。在调整图像大小时保持图像质量,或者至少在质量上不要太宽松。

默认情况下,WordPress会降低图像质量以减小其大小。如果不希望发生这种情况,可以使用过滤器自定义图像保存的质量。默认的WordPress质量为90%,从WordPress 4.5开始降低到82%

您可以使用下面的过滤器将质量修改为100%,这是您所需要的

add_filter( 'jpeg_quality', 'image_quality');

function image_quality() {
    return 100;
}

您是否尝试过“添加图像大小('my_size',360,540,true);”。最后一个参数(true或false)将决定是否使用“裁剪”。在调整大小期间,如果图像被裁剪,则不应模糊。如果最初上载的图像小于360x540px,除非是svg,否则图像将模糊。@酷不,我不能使用裁剪,因为我需要的是while图片,而不是裁剪的图片。@dingo_d不,图像不小于360x540px。原始尺寸为385x575,可湿性粉剂将其调整为360x538Odd,可能是一个bug。你查过了吗?