在Chrome和Firefox上,它将显示为梨形。现在,尝试保存它并查看保存在桌面上的它。此外,请尝试在Safari或Internet Explorer中查看。它将显示为苹果!
尝试单击图像并四处移动。您会注意到苹果出现了。
为什么会这样?
#1 楼
发生这种情况是因为某些浏览器执行了图像文件中指定的伽马校正。这是未校正的图像。苹果图片中的“白色”像素包含梨的图片,以更高的强度存储,即非常明亮。
校正后的图像。梨图片中的“黑色”像素包含苹果的图片,以相当正常的强度存储,但通过伽玛校正将其缩小到接近黑色。
在屏幕上,我可以在第一个图像的白色像素中微弱地看到梨,但是在第二个图像中,苹果与周围的黑色像素无法区分。
(您可以也可以在经过伽玛校正的梨上看到一些色带,因为未经校正的图像使用的色域范围要小得多。)
PNG图像文件包含一个gAMA块,指定文件的伽玛值为0.02。在没有进行伽玛校正的情况下显示时,观看者会看到一个散布着“白色”像素的苹果,实际上是处于其原始(高)强度的梨。
在通过伽玛校正进行显示时,观看者会看到一种颜色校正的具有“黑色”像素的梨,实际上是苹果以较低的伽玛值渲染的图像。
显示梨的浏览器正在对图像进行伽玛校正,而显示苹果的浏览器却没有执行伽玛校正,但仅显示其原义颜色值。
评论
有关该主题的推荐读物:埃里克·布拉瑟尔(Eric Brasseur)的著名文章,题为“图片缩放中的伽马误差”。
– ulidtko
13年4月9日在8:51
@ulidtko现在是404。这是该Web存档上的副本。
–科尔·约翰逊(Cole Johnson)
17年5月3日在17:43
#2 楼
对于评论来说,这有点太多了,但希望对您有所帮助。因此,我可以肯定地说,该问题与浏览器使用PNG解释伽玛信息的方式有关。这是一个非常有趣的问题,并且首先处理了伽玛信息的歧义。
PNG伽玛悲伤故事“改正”一文很好地总结了问题,补救措施和其他有趣的事实。
这样说,我们实际上可以使用
pngcrush
从图像中去除伽玛信息pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB pear.png apple.png
没有它:
我不会真的说这是“答案”,但如果有的话,它可能是正确的方向。我敢肯定,如果有人对色彩配置文件有很多了解,就会对此做出更正式的回应。
评论
那两个图像对我来说看起来是一样的,就像问题中的原始图像一样,在苹果和梨之间闪烁。我正在使用Safari 6.0.2
–弗雷泽·格雷厄姆(Fraser Graham)
13年4月7日在6:52
请注意,此处提供的命令的最后两个元素是infile和outfile:例如pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile.png outfile.png。更多信息:hsivonen.fi/png-gamma
–fredrivett
17年11月19日在7:20
#3 楼
更改图像的伽玛(γ)包括在以下条件中修改伽玛值:(R',G',B')=(Rγ,Gγ,Bγ)
给出将伽马函数应用于初始像素值(R,G,B)后的输出像素颜色(R',G',B')显示在屏幕上(考虑到R,G和B归一化在0和1)。
现在,我们以红色通道为例。
如果R = R0 + R1,您将获得R'=(R0 + R1)γ=R0γ*(1 + R1 / R0)γ
如果R0比R1大得多,则您有(1 + R1 / R0)γ≈1 +γR1/ R0,
所以R'≈R0γ+γR1* R0γ-1
这意味着对于接近0的伽玛,R0γ占主导地位。对于γ= 1,您得到R'≈R0 + R1
对于较大的伽玛,第二项占主导地位,因此您可以直接设置R0 =梨的红色成分和R1 =梨的红色成分苹果,其R0远大于R1,并且在更改显示器的伽玛(或每种软件使用的特定伽玛曲线)时,您将获得所需的变化。
#4 楼
这不是四舍五入的像素,也不是ICC颜色配置文件的问题。这是一个技巧图像,有些浏览器显示的PNG没有伽玛数据。对于这些浏览器,您会看到一件事,对于其他浏览器,您将看到完整图像(在背景中隐藏了梨)。
我看到的是苹果/梨的花招图像,或者我只是看到梨,具体取决于浏览器是否支持此伽玛数据。
#5 楼
碰巧的是,您可以在具有正确校准显示的图片中看到更多细节,如果伽玛/亮度/对比度过高,则可以看到图片中的一张图像被隐藏了更多
评论
如果我尝试在firefox上稍微拖动图像,则透明拖动的图像将使苹果aPear的形状您是如何制作这张照片的?你能指出我一个网站吗?
对于将来的读者,这似乎已在当前版本的IE中修复。
但是您仍然可以将其下载到桌面上,然后在其中看到苹果,然后在Firefox,Chrome中以梨子的形式查看。
“固定”表示支持伽玛校正。