我在网站上使用了几张高分辨率图像。我正在使用PHP来回显图像。我指定宽度为" 30"对于每个图像,正确地确定它们的大小。
问题在于,对于某些图像,存在某种自动转换为数据URI - 这似乎导致图像不仅被调整为30x30,而且还具有30x30的分辨率。
这似乎发生在我刷新时 - 几乎就像是在第一次执行后缓存php,然后在刷新时,它认为图像文件大小实际上是30x30。
请参阅下面的图片 - 第一张图片是我第一次访问网站并在我的iphone上捕获屏幕。然后我刷新,第二个截图是结果。请注意,苹果图像在两者上都保持清晰,而其余图像则显得模糊。所有原始文件的分辨率大致相同。
此外,如果我在其自己的窗口中查看苹果图像(刷新后),它会显示:
... /标识/ 30xNx50de0713c94d847 ...
然而,如果我看到" dicks体育用品"在它自己的窗口中显示图像:
数据:图像/ JPEG; BASE64 ...
我没有指定任何类型的数据URI转换 - 服务器上会自动执行此操作吗?为什么一些图像而不是其他图像?
感谢您的时间。
答案 0 :(得分:0)
我确定这是我的主机上启用了PageSpeed的结果。 PageSpeed是一款优化页面加载的Google产品 - 在这种情况下,会根据img标记中指定的宽度转换图像。
添加
?ModPagespeed=off
到任意页面的末尾,它会禁用PageSpeed并以全分辨率显示图像。我采用这种方法而不是完全禁用PageSpeed,因为我希望我的一些页面能够利用优化。