在使用 PHP 处理图像时,我注意到一个奇怪的行为,不知道为什么。
我读了一个 jpeg 图像,然后从中创建一个新图像。然后我阅读了新图像。但是,显示颜色值会产生不同的结果。(虽然,图像看起来一样。)
这是我的代码:
$img = imagecreatefromjpeg('test2.jpg');
imagejpeg($img, 'test100.jpg');
$new= imagecreatefromjpeg('test100.jpg');
list($width,$height) = getimagesize('test100.jpg');
for($x=0; $x<$width; $x++){
for($y=0; $y<$height; $y++){
echo "At [$x][$y] --".imagecolorat($img,$x,$y)."--".imagecolorat($new,$x,$y)."<br>";
}
}
我得到以下输出:
At [0][0] --14732734--14667454
At [0][1] --14601148--14666941
At [0][2] --13810862--13810862
At [0][3] --14271156--14139570
At [0][4] --15717832--15652039
At [0][5] --14598838--14401972
At [0][6] --11440262--11309188
等等...
尽管图像看起来相似,但我不明白为什么值会发生变化。请帮忙。谢谢