2012-05-24 55 views
1

當我們加載一個圖像,並且它的onload處理程序運行時,是否保證寬度和高度至少是一個?圖像是否保證至少有1個寬度和1個高度?

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等)?

回答

1

我不不知道支持圖像寬度爲零的單個光柵圖像編碼格式。 SVG也許能夠,或者可能是另一種矢量格式,但是沒有光柵格式。

0

什麼是寬度= 0px的圖像點? 然後你不應該把圖像放在那裏。 所以是的,圖像的最小寬度爲1px的

但是,當你設置%的寬度,它可以設置

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

那麼圖像是不可見的

+0

這並不是我想要的一個0寬度的圖像,它更多的是我們可以做*斷言img.width> = 1 && img.height> = 1 * – Pacerier

+0

當我設置圖像的寬度我的網站的寬度=「0px」它只是顯示爲圖像的全分辨率。給它一個0值的唯一方法是設置爲%,然後當你說width =「0%」時,圖像不可見 – Kevinc

+0

我的意思是我沒有明確地設置圖像的寬度,以便當圖像加載後,它會自動假定原始圖像的寬度和高度,如img.src中所示。所以我的問題是,當我們沒有明確設置圖像的尺寸時,是否有可能在加載圖像後寬度和/或高度爲零? – Pacerier

0

好問題,但據我所知不,你不能有一個圖像文件0 x 0像素尺寸。

使用CSS,你可以

  • 隱藏它
  • 使其1x1像素的
  • 位置它絕對等等,因此不會影響你的UI佈局。
+0

是否可以使用.exif,.raw或.svg創建一個0x0圖像? – Pacerier

+0

我懷疑它,我用過的成像工具沒有一個允許少於1個像素。從程序上講,這可能是可能的。 'var img = new Image();'有0寬度和0高度... – Greg

相關問題