0

假设我希望将图像大小调整为 100px x 100px。

我上传了 200 像素 x 150 像素的图片 A。我希望它根据中心点调整到 ...px x 100px。所以我实际上并不关心损失方面(调整大小的 200 像素)。

如果我上传 150px x 200px 的图片 B,同样它应该被调整为 100px x ...px。

最终结果总是 100px x 100px,只是它位于中心。

我查看了以下示例:

但不知道该怎么做。有任何想法吗?

4

2 回答 2

3

从你的描述我猜你在说

  1. 缩放图像以完全填充 100x100 像素,即使这意味着您获得 100x123 或 123x100 像素
  2. 切掉 100x100 像素边界之外的图像的任何部分,最好从图像的死点向每侧切出 50px。

你在说的是缩略图裁剪。如果您使用的是Imagick,请查看方便的小方法Imagick::cropThumbnailImage()

如果您不能通过 PECL 使用 ImageMagick,这里是cropThumbnail 的 CLI:

convert input.png -resize '100x100^' -gravity center -extent '100x100' output.png
于 2012-06-17T14:03:19.890 回答
1

分两部分解决这个问题——首先让 ImageMagick 在最长的最短边上将图像缩小到 100 像素。看看man convert如何做到这一点。然后围绕中心点在较长的相反轴上进行裁剪。我应该认为这样做比一次完成要容易,但后者可以通过 IM 实现。

(根据评论中的版本更正)

于 2012-06-17T17:34:42.797 回答