0

我想允许用户上传一个图像文件,然后我想对其进行处理,使其最终成为一个正方形,除非不裁剪它。假设有人上传了一张 1400 宽和 800 像素高的图片,我想将其转换为 1400x1400 的图片,上传的图片居中位于顶部和底部的两个白条之间,以弥补额外的高度。

我该怎么做呢?到目前为止,我发现的所有解决方案都涉及裁剪,或者使用不同的语言。

谁能指出我正确的方向?

4

1 回答 1

2

您需要做的就是:

  1. 加载图像和数据。
  2. 获取图像数据(MIME, height, width)并取高度和宽度的最大值来确定整体尺寸。
  3. imagecreatetruecolor使用步骤 2 中获得的最大值创建图像标识符。
  4. 使用一些简单的数学将图像粘贴到正确的位置(使用左右距离:(MAX_VALUE - MIN_VALUE) / 2,在您的示例中MAX_VALUE为 1400px 和MIN_VALUE800px )
  5. 使用 GD 函数保存图像标识符。

参考http ://www.php.net/manual/en/book.image.php

于 2012-08-07T18:12:24.820 回答