使用图像复印采样调整图像大小时图像颜色被破坏
将图像上传到我的网站后,图像正在调整大小。我正在使用 和 函数。我注意到颜色与原始图像中的颜色不同。imagecreatefromjpeg
imagecopyresampled
在这里,您可以看到差异。您可以从闪烁中看到带有currect颜色的图像以及来自我的网站的图像后面的图像。
原始图像:https://c2.staticflickr.com/6/5754/23693488109_74c67f012a_k.jpg
调整后:https://www.isrart.co.il/img/uploads/art/viewer/big/photo-2b971e861c7aa2c57b8f7667ec666c3d.jpg
这是我的PHP代码:
$type = @getImageSize($_FILES['photo']['tmp_name'])[2];
switch ($type) {
case 1 :
$img = imageCreateFromGif($_FILES['photo']['tmp_name']);
break;
case 2 :
$img = imageCreateFromJpeg($_FILES['photo']['tmp_name']);
break;
case 3 :
$img = imageCreateFromPng($_FILES['photo']['tmp_name']);
break;
case 6 :
$img = imageCreateFromBmp($_FILES['photo']['tmp_name']);
break;
}
$orig_width = imagesx($img);
if($orig_width < $width)
return $img;
$orig_height = imagesy($img);
$height = (($orig_height * $width) / $orig_width);
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $img, 0, 0, 0, 0, $width, $height, $orig_width, $orig_height);
imagejpeg($new_image, $_SERVER['DOCUMENT_ROOT'] . "/img/uploads/" . $path, 100);