0

我有一个用户可以上传图像的网站,我有这个功能来降低图像分辨率并进行大量检查等,工作正常,除了这个 1 小错误,我似乎无法弄清楚

$fixed_width 是我想声明为允许的最大宽度,但允许它更低,但由于某种原因,这个 if 语句总是会触发,并且图像会被重新调整大小,留下一个黑框。

$width_orig = 图像宽度

$fixed_width = 最大允许宽度,如果更高,调整到那个

$image_p = 真彩色

$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
}

那么为什么它永远不会通过,无论发生什么它都会调整大小?

4

2 回答 2

1

代码中的 else 块没有任何意义。如果您不会更改图像,为什么要对其进行复制重新采样?

将其余代码发布给我们,以了解您获得原始宽度的方式。

于 2013-05-15T20:46:12.403 回答
0

$image_p具有固定的宽度和高度。因此,当您复制较少的内容时,它具有空白(黑色)背景来填充其余部分。尝试只使用$image( else {$image_p = $image})

于 2013-05-15T20:08:03.607 回答