1

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

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

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

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

2 回答 2

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,然后它就可以正常工作了:

在此处输入图像描述

于 2011-06-16T22:47:16.993 回答
0

你的 GIF 有问题。

这就是图像在没有大小限制的 Chrome 中的样子(大量空间是图像的一部分)

在此处输入图像描述

因此图像数据始终存在,但 Chrome 将图像读取为大(标签中的大小限制迫使它调整整个事物的大小),而 IE 将其读取为小。

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

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

于 2011-06-16T22:17:32.020 回答