从矩形图像创建新的方形图像而不进行裁剪

时间:2012-08-07 18:07:02

标签: php image gd

我想允许用户上传图片文件,然后我想处理它以使其最终成为正方形,除非没有裁剪它。所以说有人上传1400幅和800px高的图像,我想将其转换为图像1400x1400,上传的图像位于两个白色条形图(顶部和底部)之间,以构成额外的高度。

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

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

您需要做的只是:

  1. 加载图像和数据。
  2. 获取图片数据(MIMEheightwidth)并获取最大高度和宽度以确定整体尺寸。
  3. 使用imagecreatetruecolor创建图像标识符,并在步骤2中获得最大值。
  4. 使用一些简单的数学运算将图像粘贴到正确的位置(使用左右距离:(MAX_VALUE - MIN_VALUE) / 2,其中MAX_VALUE为1400px,MIN_VALUE为800px )
  5. 使用GD功能保存图像标识符。
  6. 参考http://www.php.net/manual/en/book.image.php