📅  最后修改于: 2023-12-03 15:33:33.293000             🧑  作者: Mango
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 对象副本,以避免修改原始图像。