2011-04-06 113 views

回答

2
var max = 200; 
$('img').each(function() 
{ 
    var $this = $(this); 
    if ($this.height() > $this.width()) 
    { 
     $this.height(max); 
    } 
    else 
    { 
     $this.width(max); 
    } 
}); 

http://jsfiddle.net/mattball/qtVkT/

+0

@Charles包裹它 - 您無法將500x800圖像放大到200x200而不會失真! (除非你想裁剪) – 2011-04-06 04:39:18

+0

我可以填充一些「白色邊框」的圖像,使圖像不會失真嗎? – 2011-04-06 04:41:34

+2

是的,只是把它放在一個200x200的div中。 – 2011-04-06 04:42:54

0

this tutorial

  • 我們假設縮略圖應爲100個像素,無論是寬或高。
  • 我們加載原始圖片,並檢查其尺寸。
  • 如果圖片比寬高,我們將大拇指的高度設置爲100像素。
  • 縮略圖的寬度是原始寬度乘以100像素除以其高度。
  • 縮略圖height =原始寬度*(100 /原始高度)
  • 這樣我們就保留了原始的寬高比。
  • 如果原始圖片比寬高,我們對縮略圖的高度也做同樣的處理。
  • 如果它們相同,我們只需創建一個100x100像素的圖像。

國際海事組織調整大小的圖像與jQuery是一種不好的做法,我建議你不應該這樣做,如果你可以使用GD庫。

1

這將限制所有圖像帶班「形象」是< = 200x200px

如果你希望它是一個完美的200×200箱,在200x200px DIV

$('.image').each(function(){ 
    var $this = $(this); 
    $this[$this.width() > $this.height() ? 'width' : 'height'](200); 
}); 
+0

尼斯和緊密。 +1 – 2011-04-06 04:40:06

+0

@Matt - 對不起,沒有看到你的答案,它是完全相同的 – 2011-04-06 04:41:24