0

我想在固定尺寸为 400 * 400 的正方形内显示图像。因此,为了保持纵横比,如果宽度更大,则可能会减小宽度,并且根据纵横比的剩余空间将填充一些背景颜色(我可以在 div 上给出颜色)。同样,如果高度更大,则将调整高度以按照纵横比显示,然后剩余空间将被背景填充。

有人可以帮助我如何实现这一目标吗?这可以用imagemagick完成吗? http://php.net/manual/en/book.imagick.php

任何帮助,将不胜感激。

4

5 回答 5

0

使用 phpthumb。

    require_once '/path/to/ThumbLib.inc.php';  
    $thumb = PhpThumbFactory::create('path/to/image.jpg');  

    //$thumb->resize(400, 400);  
    // resize image and make thumbnail by cropping image automatically
    $thumb->adaptiveResize(400, 400)->save('/path/to/thumb.jpg'); ;

更多阅读请转到PHPTHUMB

于 2013-05-09T20:07:50.853 回答
0

尝试添加宽度和高度您可以再次在 css 中执行此操作:D

于 2013-05-15T14:10:48.133 回答
0

如果以正确的尺寸显示图像就足够了,您不需要创建缩放版本,只需使用 CSS 在网页中缩放它:

div {
  width:400px;
  height:400px;
  background:url('https://placekitten.com/400/600');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:50% 50%
}

改变 placekitten 图像的大小以查看图像的缩放方式。

在 jsFiddle 上玩一个例子:https ://jsfiddle.net/Lontevb3/1/

于 2016-06-29T18:06:18.670 回答
-4

  • 计算图像的纵横比
  • 检查图像尺寸之一是否比您的“框架”长
  • 如果两者都更长,那么您选择两者中最大的尺寸
  • 缩放图片,使最长尺寸与您的框架相同(400px)
  • 缩放另一个维度,使其为 400*纵横比 px
于 2013-05-08T12:59:58.853 回答
-5

如何创建<div>并设置背景图像?

于 2013-05-08T13:04:11.107 回答