📜  PHP | imagick cropThumbnailImage()函数(1)

📅  最后修改于: 2023-12-03 15:33:33.293000             🧑  作者: Mango

PHP | Imagick cropThumbnailImage() 函数

Imagick cropThumbnailImage() 函数是 Imagick 扩展库中的一个函数,用于裁剪并缩放一个图像。该函数的具体定义如下:

public bool Imagick::cropThumbnailImage(int $width, int $height[, bool $legacy = FALSE[, bool $fit = FALSE[, bool $gravity = 'center']]]])

参数说明:

  • $width:缩略图的宽度。
  • $height:缩略图的高度。
  • $legacy:是否启用传统模式。默认为 false。
  • $fit:是否强制等比例缩放。默认为 false。
  • $gravity:缩略图所在位置。默认为 center。

该函数返回 true 表示成功,false 表示失败。

示例

以下是使用 cropThumbnailImage() 函数创建缩略图的代码示例:

<?php
// 创建 Imagick 对象
$imagick = new \Imagick('image.jpg');

// 裁剪缩略图
$imagick->cropThumbnailImage(200, 150);

// 将处理后的图片储存为 JPG
$imagick->setImageFormat('jpg');
$imagick->writeImage('thumbnail.jpg');

// 释放资源
$imagick->destroy();
?>

上面的代码将从 image.jpg 文件中创建一个 Imagick 对象,然后使用 cropThumbnailImage() 函数裁剪并缩放图像。最后将缩略图储存在 thumbnail.jpg 文件中。

补充说明

使用 cropThumbnailImage() 函数时,如果设置 $fit 参数为 true,则将启用强制等比例缩放。如果设置 $legacy 参数为 true,则将启用传统模式。在传统模式下,假设生成的缩略图宽高比与原始图像不同,将使用白边填充缩略图。

$gravity 参数可用于指定缩略图所在位置,该参数可以设置为一个常量值,常量值和对应的位置如下:

  • Imagick::GRAVITY_NORTHWEST:缩略图位于左上角。
  • Imagick::GRAVITY_NORTH:缩略图位于上方。
  • Imagick::GRAVITY_NORTHEAST:缩略图位于右上角。
  • Imagick::GRAVITY_WEST:缩略图位于左侧。
  • Imagick::GRAVITY_CENTER:缩略图位于中心。
  • Imagick::GRAVITY_EAST:缩略图位于右侧。
  • Imagick::GRAVITY_SOUTHWEST:缩略图位于左下角。
  • Imagick::GRAVITY_SOUTH:缩略图位于下方。
  • Imagick::GRAVITY_SOUTHEAST:缩略图位于右下角。

需要注意的是,cropThumbnailImage() 函数会修改原始图像,因此在处理图像之前,一定要创建一个 Imagick 对象副本,以避免修改原始图像。

参考链接