如何使用imagemagick转换进行缩放和裁剪?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用imagemagick转换进行缩放和裁剪?相关的知识,希望对你有一定的参考价值。

给出以下php代码:

function image_scale_and_crop(stdClass $image, $width, $height) {
  $scale = max($width / $image->info['width'], $height / $image->info['height']);
  $x = ($image->info['width'] * $scale - $width) / 2;
  $y = ($image->info['height'] * $scale - $height) / 2;

  if (image_resize($image, $image->info['width'] * $scale, $image->info['height'] * $scale)) {
    return image_crop($image, $x, $y, $width, $height);
  }
}

换句话说,首先我们进行调整以保持纵横比,使图像的较小边缘成为所需的尺寸,然后将生成的图像沿着较长的边缘裁剪为$width X $height,每边切割等量(较小的边)不需要裁剪)。

是否可以在单个convert命令中执行此操作?

答案

我相信答案是convert "$input" -resize "${width}x${height}^" -gravity center -crop "${width}x${height}+0+0" $output

以上是关于如何使用imagemagick转换进行缩放和裁剪?的主要内容,如果未能解决你的问题,请参考以下文章

ImageMagick:转换、裁剪、调整大图像

Dragonfly/imagemagick 调整大小和裁剪,并可能添加白色填充

命令行 ImageMagick 装订线和裁剪标记

ImageMagick 使用格式化的文件名转换裁剪

开发利器_ImageMagick.基于Linux命令行的图片缩放/编辑/格式转换?

PHP ImageMagick 通过提供上/右/下/左百分比进行裁剪