【发布时间】:2018-07-14 18:24:34
【问题描述】:
我正在使用以下 PHP 函数来调整大图像的大小以适应 500 像素的宽度:
<?php
function resizeImage($name) {
header('Content-type: image/jpeg');
$filename = "file.jpg";
$new_width = 500;
list($width, $height) = getimagesize($filename);
$new_height = (($height*$new_width)/$width);
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
imagejpeg($image_p, "file.jpg", 100);
}
?>
由于某种原因,调整大小的图像上的颜色与以前不完全相同。它们不像以前那样清晰和强大。如您所见[图片已删除],左侧(原始)照片中的红色和亮度更高。
为什么?我的脚本有问题吗?还是正常的大小调整效果?
【问题讨论】:
-
原图是RGB还是CMYK?
-
@MarioWerner 这是用 iPhone 拍摄的。原始的和调整大小的都是 RGB。
-
虽然两个图像都是 RGB,但它们可以有不同的色彩空间,如 sRGB 或 AdobeRGB。我不知道您使用的 PHP 函数是否可以正确处理颜色空间/颜色配置文件或转换 - 我建议将此作为进一步研究的起点。
-
看起来这个问题已经在 stackoverflow 上得到了回答:stackoverflow.com/questions/5773032/…
-
@Benni 谢谢,但这似乎只适用于
imagemagick。但我不使用它。知道该怎么做吗?