2

我有一张由视频中的 187 帧组成的图像,它们相互叠加。每帧宽 320 像素,高 180 像素,因此图像宽 320 像素,高 33660 像素。图片链接:http ://reference.23.rekab.dk/7340/2758266/3f1faedac540f10a4bfe20ea579da3e7/video_frames/download/izotope-stutter-edit-frames.jpg

我希望使用此图像一次显示一帧,并将每帧缩放到两倍的宽度和高度。为了做到这一点,我将图像放在div640px 乘以 360px 的范围内overflow: hidden;,并将图像绝对定位为top根据我要显示的帧简单地给它一个负值(所以要显示第一帧,top值是 0,并显示第五帧,该top值设置为 -360 * (5 - 1) = -1440 像素。小提琴来展示这个想法:http: //jsfiddle.net/kkabell/dJGp3/1/

这工作正常,直到我达到第 183 帧,给图像的top值为 -65520px:调整大小的图像似乎被 Chrome 截断为 65535 像素,因此不让我完整显示该帧 - 以及其余帧一点也不:http: //jsfiddle.net/kkabell/tm6ZM/3/

我知道 jpeg 图像的最大高度为 65535 像素(请参阅http://en.wikipedia.org/wiki/Jpeg),但 Firefox 和 Safari 都能够将图像缩放到比这更高的高度。

  • 这是 Chrome 中的预期行为吗?有什么办法可以解决吗?
  • 是否有记录此“限制”的地方?
  • 在其他浏览器中我应该期待什么行为?

在我的测试中,我一直在 OS X 10.8.2 上使用 Google Chrome 25.0.1364.172

4

1 回答 1

0

我认为您最好的选择是将图像保持在原始尺寸(不加倍),以原始分辨率对其进行剪辑,然后将结果缩放 2 倍。可能这也可以为您提供更好的性能。

我猜这个属性的内部实现会很短,但我没有任何关于它的文档。

于 2013-03-27T06:38:50.417 回答