【问题标题】:Image manipulation using PHP: force 1:1 aspect ratio (sqaure images)使用 PHP 进行图像处理:强制 1:1 纵横比(方形图像)
【发布时间】:2011-10-13 07:57:08
【问题描述】:

我希望为用户上传的非方形图像添加背景。因此,如果他们上传一张又高又瘦的照片,我想在图像的两侧添加一个白色背景,以使生成的图像具有 1:1 的纵横比。这可以使用 PHP 或 javascript 吗?

【问题讨论】:

标签: php javascript


【解决方案1】:

您可以使用 GD 库来做什么,使用名为 Wideimage 的库轻而易举:

$image = WideImage::load('img_form_field_name');
$size = max($image->getHeight(), $image->getWidth());
$white = $image->allocateColor(255, 255, 255);
$image->resizeCanvas($size, $size, 'center', 'center', $white);

documentationexamples,很多功能甚至可以tested interactively

【讨论】:

    【解决方案2】:

    GD 库是最常用的图像处理包。它是一组通常与 PHP 一起安装的处理图像操作的函数。

    您要做的是将图像缩放并裁剪为特定的纵横比,以便将图像放在方形画布上并剪掉任何适合的部分或

    您只需将图像大小调整为固定的纵横比,然后将其放置在方形画布上,并在其周围留有空白。

    无论哪种方式,本教程都应该为您指明正确的方向

    http://return-true.com/2009/02/making-cropping-thumbnails-square-using-php-gd/

    【讨论】:

    • 感谢该教程正是我想要的。
    【解决方案3】:

    是的,您需要查看GD libraryImageMagik。有很多可用于此任务的教程。

    imagecreatetruecolor() 等函数将允许您创建新图像,然后将上传的图像堆叠在其顶部并将其保存为新文件。

    【讨论】:

      【解决方案4】:

      【讨论】:

      • 这个问题比简单的“这可能吗”更具体,请仔细阅读。你选择的回答方式(只是一个没有其他方向的文档链接)感觉有点粗鲁和居高临下。
      猜你喜欢
      • 1970-01-01
      • 2013-06-12
      • 2018-07-19
      • 1970-01-01
      • 2020-03-14
      • 2018-10-25
      • 2019-04-02
      • 2014-06-09
      • 1970-01-01
      相关资源
      最近更新 更多