GIF仅在IE中可见但不在Firefox,Photoshop或任何其他应用程序中可见

时间:2011-06-16 22:06:46

标签: internet-explorer firefox gif invisible

请使用Firefox或任何其他浏览器和Internet Explorer访问以下页面: http://uni-ka.the-jens.de/html/mathe4/mase2.htm

你会看到图片(公式)只在IE中可见。这是怎么做到的? 此外,你会发现它与html源无关,只与图片有关:

  • 下载任何这些图片并尝试查看它们。一些应用程序显示白色图片,一些是黑色图片,另一些是透明图案图片。

  • 假设您从上面的给定页面下载了第一张图片(ma63x.gif),请复制并使用十六进制或文本编辑器打开它,并从第8行开始添加其中一些符号ÿþýû÷ïß¿ col 374或1218位(十进制)。保存后,一些应用程序现在会告诉您gif文件没有有效的格式。

  • 假设您将操纵副本存储为my.g,然后将这些副本保存为htm / html文件,并在Firefox中再次在IE中打开。

      

    img src =“ma63x.gif”

         

    img src =“my.g”

Firefox仍然不会显示图片(我使用版本3.6,也许4.0可以渲染gif)。 IE现在将向您显示原件和副本。比较两者并稍微添加和删除副本中的标记。

现在我的问题:

  • 是否有任何应用程序使用此“功能”,因为我甚至看不到Photoshop中有用的东西(索引颜色模式中只有一个黑色图层)?
  • 为什么IE只能正确显示图片?
  • 你是否知道如何在某种意义上手动操作上面提到的gif?

2 个答案:

答案 0 :(得分:1)

我检查了页面上的第一张图片,发现我的理论是正确的。我找到了这些设置:

Viewport width = 363
Viewport height = 28

Image position = 190, 448
Image width = 363
Image height = 28

Comment: Image generated by AFPL Ghostscript (device=pnmraw)

因此,图像放在视口之外。

Chrome会扩展视口以包含图像,而IE和Opera会忽略视口并仅显示图像(或忽略图像的位置)。 Firefox执行格式指定的内容,即仅显示视口和图像中可见的部分。

根据评论,图像是使用AFPL Ghostscript创建的,后者是一个Postscript解释器,所以它可能从Postscript转换为GIF。

我编辑了文件以将图像位置更改为0,0,然后它可以正常工作:

enter image description here

答案 1 :(得分:0)

你的GIF有问题。

这是Chrome中没有尺寸限制的图像(大量空间是图像的一部分)

enter image description here

因此图像数据始终存在,但Chrome会将图像读取为较大(标记中的大小限制会强制它调整整个内容的大小),IE会将其读取为小图像。

我认为生成GIF文件的应用程序必须在头数据中存储奇数值。

对我来说修复它们的方法是打开IrfanView中的图像,然后将它们再次保存为GIF文件。