1

当我们加载图像并且它的onload处理程序运行时,是否保证宽度和高度至少为一个?

var img = new Image();  
img.onload = function(){
    // is img.width and img.height guaranteed to be at least 1?
    // can we do something like assert img.width >= 1 && img.height >= 1
};
img.onerror = function(){
    alert("error");
}
img.src = 'MyImage.png'; 

基本上,我想知道加载的图像是否有可能具有 0 的宽度或高度?

或者更确切地说,是否有支持 0 宽或 0 高图像的图像扩展(gif、png、svg、jpg、exif、raw、bmp、tiff 等)?

4

3 回答 3

1

我不知道支持零图像宽度的单个光栅图像编码格式。SVG 可能可以,或者可能是另一种矢量格式,但没有光栅格式可以。

于 2012-05-24T12:08:19.493 回答
0

width=0px 的图像有什么意义?那么你根本不应该把图像放在那里。所以是的,图像的最小宽度是 1px

但是当您以 % 为单位设置宽度时,可以设置

<img src="...." alt="image" width="0%" />

然后图像不可见

于 2012-05-24T12:05:26.473 回答
0

好问题,但据我了解,不,您不能拥有 0 x 0 像素尺寸的图像文件。

使用 CSS 你可以

  • 把它藏起来
  • 使其成为 1x1 像素
  • 绝对定位它,这样它就不会影响您的 UI 布局。
于 2012-05-24T12:14:34.623 回答