This question already has answers here:
How do I auto-resize an image to fit a 'div' container?

(37个答案)


7年前关闭。




这似乎是以前曾被问过的问题,但我找不到重复的东西,所以...

我希望在保持宽高比的同时,将图像的最小尺寸最大缩放为200。所以:
  • 600x400图像的最小尺寸为400,应为200,因此应按0.5缩放:新图像将为300x200
  • 同样,400x800将是200x400
  • 100x300的最小尺寸已经小于200,因此将保持100x300。

  • 显然,如果可以使用CSS完成,则比javascript更可取。

    最佳答案

    是的,您需要JS:

    LIVE DEMO

    function scale(W, H, max) {
      var min = Math.min(W, H),        // Get the smallest size
          nr  = min>max,               // NeededResize (Boolean)
          rat = Math.min(max/W, max/H);// Ratio
      return {
        W: nr?W*rat:W, // if NeededResize do W*rat, else just use the image W
        H: nr?H*rat:H
      };
    }
    
    // Use like: scale(imageWidth, imageHeight, maxSizeToRespect);
    var resize = scale(this.width, this.height, 200);
    // Where from now on
    resize.W // is the returned width scale
    resize.H // is the returned height scale
    

    关于javascript - 调整最小影像尺寸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22463668/

    10-15 05:37