我有一个网站,用户可以上传图像,我有这个功能,以降低图像分辨率和预先形成大量的支票等,工作正常,除了这个小小的错误我似乎无法弄清楚
$ fixed_width是我想要声明为允许的最大宽度,但允许它更低,但由于某种原因,这个if语句总是触发,并且图像重新调整大小,留下一个黑盒子。
$ width_orig =图片宽度
$ fixed_width =最大允许宽度,如果更高,则调整为
$ image_p = truecolor
$ image = img的当前位置
if ($width_orig > $fixed_width) {
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $fixed_width, $fixed_height, $width_orig, $height_orig); // reduce in width / height
} else {
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width_orig, $height_orig, $width_orig, $height_orig); // leave as is
}
那么为什么它永远不会过去,无论发生什么事情都会调整大小?
答案 0 :(得分:1)
代码中的else块没有任何意义。如果您不更改图像,为什么要复制重新采样?
将剩下的代码发布给我们,看看你获得原始宽度的方式。
答案 1 :(得分:0)
$image_p
具有固定的宽度和高度。因此,当您复制较少的东西时,它会有空白(黑色)背景来填充其余部分。请尝试使用$image
代替(else {$image_p = $image}
)