函数名: Imagick::extentImage()
适用版本: Imagick 2.0.0及以上
用法: Imagick::extentImage() 方法用于调整图像的尺寸,并在必要时填充背景颜色以达到指定的尺寸。该方法可以用于图像的缩放和裁剪操作。
语法: bool Imagick::extentImage ( int $width , int $height , int $x , int $y )
参数:
- width: 扩展后的图像宽度。
- height: 扩展后的图像高度。
- x: 用于定位图像起始点的x坐标。
- y: 用于定位图像起始点的y坐标。
返回值:成功时返回 true,失败时返回 false。
示例:
// 创建一个 Imagick 对象
$image = new Imagick('input.jpg');
// 获取原始图像的宽度和高度
$originalWidth = $image->getImageWidth();
$originalHeight = $image->getImageHeight();
// 设置目标尺寸和起始点坐标
$width = 800;
$height = 600;
$x = ($originalWidth - $width) / 2; // 居中
$y = ($originalHeight - $height) / 2;
// 调用 extentImage() 方法进行图像尺寸调整和填充
$image->extentImage($width, $height, $x, $y);
// 保存调整后的图像
$image->writeImage('output.jpg');
// 销毁对象
$image->destroy();
上述示例中,我们首先创建一个 Imagick 对象,并加载一张名为 input.jpg 的图像。然后,通过 getImageWidth() 和 getImageHeight() 方法获取原始图像的宽度和高度。接下来,我们设置了目标的宽度和高度,以及起始点的坐标。最后,调用 extentImage() 方法对图像进行扩展和填充操作。最终,将调整后的图像保存为 output.jpg 文件,并销毁 Imagick 对象。
请注意,此示例仅用于说明 Imagick::extentImage() 方法的用法和示例,并不包含完整的错误处理和异常处理。在实际使用中,建议加入适当的错误处理机制。