【问题标题】:Laravel 4.1, how to compare image height and width within a functionLaravel 4.1,如何在函数内比较图像高度和宽度
【发布时间】:2014-02-06 05:32:57
【问题描述】:

我正在尝试确定必须以哪种方式裁剪图像以完美适合方形用户个人资料图像。

我发现了 Laravel 包“干预图像”,但据我所知,这个包没有提供比较图像是水平还是垂直的功能。

http://intervention.olivervogel.net/

在调整大小和裁剪图像之前,有什么好的方法可以确定图像是正方形还是水平还是垂直?

这就是我现在所做的:

$img->resize(400, null, true)->crop(400, 400);

显然,它非常适用于正方形,它适用于垂直图像,但它不适用于水平图像。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 我个人会使用JS 脚本来确定它。一秒钟。
  • 添加了确定您想要做什么的答案。否则,您需要做的就是包含我在您为每个条件发布的上一个问题中提供的add css 代码。我会设置一个horizontal 类、vertical 类和一个square 类。 Like this Fiddle. You will have to define the classes in CSS

标签: php image laravel laravel-4 compare


【解决方案1】:

所以,这是我的看法。

http://jsfiddle.net/SinisterSystems/PD4a2/1/

HTML:

<img id="img1" src="http://hdwallpaper2013.com/wp-content/uploads/2013/02/Download-Flower-Background-Images-HD-Wallpaper.jpg" />

<img id="img2" src="http://1.bp.blogspot.com/_74so2YIdYpM/TEd09Hqrm6I/AAAAAAAAApY/rwGCm5_Tawg/s1600/tall%2Bcopy.jpg" />

<img id="img3" src="http://upload.wikimedia.org/wikipedia/commons/8/89/Love_Heart_symbol_square.svg" />

CSS:

img {
    max-width:500px;
    max-height:500px;
    border:1px solid #000;
}

Javascript:

function findSize(x){
    var h = x.height();
    var w = x.width();
    if(h<w){
       alert("Image is wider than it is tall.");
    } else if(w<h){
       alert("Image is taller than it is tall.");
    } else {
       alert("Image is square.");
    }
}
findSize($('#img1'));
findSize($('#img2'));
findSize($('#img3'));

让您明确比较哪些值更高、更宽或方形。

否则,您需要做的就是包含我在您为每个条件发布的上一个问题中提供的add css 代码。我会设置一个horizontal 类、vertical 类和一个square 类。 Like this Fiddle. You will have to define the classes in CSS

显然我只是设置了边框颜色,但此时您可以为所欲为。

【讨论】:

  • 你的答案是迄今为止我最好的答案。我希望我可以多次投票。非常感谢!
  • 就这么做了。如果你想看看我的另一个问题,我会很高兴。只是如果你想当然。 stackoverflow.com/questions/21200492/…
【解决方案2】:

您可以使用getimagesize($link),它返回一个包含图像宽度和高度的数组。然后只需检查水平或垂直或正方形使用:

<?php
function WvsH ($link) {
    $size = getimagesize($link);
    if ($size[0] < $size[1]) {
        return 'vertical';
    }
    else if ($size[1] < $size[0]) {
        return 'horizontal';
    }
    else {
        return 'square';
    }
}
?>

当然,这是假设链接存在。

【讨论】:

  • 不客气。它适用于任何 GIF、JPG、PNG、SWF、SWC、PSD、TIFF、BMP、IFF、JP2、JPX、JB2、JPC、XBM 或 WBMP 文件。
猜你喜欢
  • 2022-08-19
  • 2016-04-26
  • 2021-10-25
  • 2018-03-13
  • 2020-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多